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