Date: Apr 5, 2013 7:41 PM
Author: Nasser Abbasi
Subject: Re: Solving Matrix Riccati
On 4/5/2013 6:20 PM, Jeremy wrote:

> I'm new to MATLAB and trying to use ODE45 to find the coefficients of the matrix

>Riccati equation for a controls problem.

Any reason why are you not using the specalized funtions for Riccati solver

in the control systems toolbox?

http://www.mathworks.com/help/control/ref/care.html

"care

Continuous-time algebraic Riccati equation solution"

>

> I'm not sure what I'm doing wrong.

>

> I've defined my Riccati equation in a function 'regulator'

>

> %Define matrices

> function dS=regulator(t,S)

>

> A=[0 1;0 -2.972];

> B=[0;390];

> Q=[(1/(pi^2)) 0;0 30];

> R=1;

>

> dS=-1*(A'*S+S*A-S*B*(R^-1)*B'*S+Q);

>

> end

>

> Then I'm just going straight to ODE45, doing something like this:

>

> [t,S]=ode45('regulator',[0 5],[0 0;0 0])

>

> looking for a solution to matrix S.

>

> Can I solve like this or do I have to multiply out all the terms of S? Assuming S is

>

> S = [s11(t) s12(t) ; s12(t) s22(t)];

>

> Any help would be appreciated.

>