Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Solving Matrix Riccati
Replies: 3   Last Post: Apr 6, 2013 12:51 PM

 Messages: [ Previous | Next ]
 Nasser Abbasi Posts: 6,677 Registered: 2/7/05
Re: Solving Matrix Riccati
Posted: Apr 5, 2013 7:41 PM

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

Date Subject Author
4/5/13 Guest
4/5/13 Nasser Abbasi
4/6/13 Jeremy
4/6/13 Bart