MathGroup Archive 2003

[Date Index] [Thread Index] [Author Index]

Search the Archive

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).
>


  • Prev by Date: Re: HTMLSave and Numbering
  • Next by Date: Re: Re: Low pass filtering
  • Previous by thread: Re: Re: Re: ricatti & set of ODE solution.
  • Next by thread: Fuzzy Logic 2 for Mathematica Provides Greater Flexibility for Exploring Fuzzy Systems