I can't use the algebraic Riccati eqn for this problem. It looks like 'care' is only used to solve problems where the ARE is used.
"Nasser M. Abbasi" wrote in message <firstname.lastname@example.org>... > 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. > >