Re: Re: Re: Re: ricatti & set of ODE solution.
- To: mathgroup at smc.vnet.net
- Subject: [mg41753] Re: [mg41737] Re: [mg41716] Re: [mg41692] Re: [mg41676] ricatti & set of ODE solution.
- From: Selwyn Hollis <selwynh at earthlink.net>
- Date: Wed, 4 Jun 2003 08:34:37 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Arda, Why not just use t=2 as your "initial" time and solve backwards to t=0? The following seems to work. Y[t] is your K. R = r*IdentityMatrix[2]; Q = q*IdentityMatrix[4]; A = {{0, 1, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 1}, {0, 0, 0, 0}}; B = {{0, 0}, {0.116, -0.116}, {0, 0}, {-0.116, 1.366}}; H = h*IdentityMatrix[4]; Y[t_] = Table[y[i, j][t], {i, 4}, {j, 4}]; r:=1; q = 1; h = 1; sys = Thread /@ Thread[Y'[t] == -Y[t].Transpose[A].Y[t] - Q + Y[t].B.R.Transpose[B].Y[t]]; soln = NDSolve[Append[sys, {Thread /@ Thread[Y[2] == H]}], Flatten[Y[t]], {t, 0, 2}] Plot[Evaluate[Flatten[Y[t]/.soln]], {t, 0, 2}] Regards, Selwyn On Tuesday, June 3, 2003, at 07:13 AM, Arda Kutlu wrote: >> I'm still not understanding the nature of your system. It sounds as > if >> you have a system of 1st order differential equations with initial >> values at t=0 (?) and final values at t=2. That kind of problem is >> simply not well posed. Or do you have second order equations? > > allright. here is the question. ricatti part only. > > R=r*IdentityMatrix[4] > r is a value to be found or chosen. > > Q=q*IdentityMatrix[4] > q is also a value to be chosen. > > ricatti equation. > M(K) --> matrix of K 4x4 > Mprime(K) is the time derivative of K. > > Mprime(K)= -M(K).Transpose[A].M(K)-Q+M(K).B.R.Transpose[B].M(K) > where > A={{0,1,0,0}, > {0,0,0,0}, > {0,0,0,1}, > {0,0,0,0}} > > B={{0,0}, > {0.116, (-0.116)}, > {0, 0}, > {(-0.116), 1.366}} > > first order nonlinear differential set. > and boundary . > > K(2)=H > value of K at 2 seconds when the proceses ends. > > H=h*IdentityMatrix[4] > again h is a value to be chosen. > > As you can see here i only know/chose the final value of K. And I need > to find K. Possible numerical solution to this problem is shooting > method, but due to the last term in ricatti the ode is non-linear and > the method doesn't work. > I am supposed to find values of K in 0 2 seconds interval with a small > increment. Or better K(t). > > it is well possed. Just the problem is i don't know the initial values > but final values. > > These were for ricatti solution. > If u are interested in optimization or this problem i can send you the > problem and my solution (my solution using the other way - set of odes > -with semi-numerical solution, symbolic solution looks like not > possible with today's pc). >