Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

A Matlab code solving State Dependent Riccati equation (SDRE)

460 views
Skip to first unread message

Daniel Reisner

unread,
Aug 18, 2009, 6:30:21 AM8/18/09
to
Hi to all
I am trying to solve the differential Riccati equation.
As for solving the differential Riccati equation for a constant matrix there is no problem .
How do I solve the it when A and B are state dependent?
As the states are changing also in the simulation I need to update them each time after obtaing the P matrix after integration how do I synchronize between the time solving the differential Riccati equation and obtaing the P matrix and the time for updating the states. Looking at the big picture I have two numerical runs one for the differential Riccati equation and one for the states and Inee to them together.
Thanks for the help

Magdalin

unread,
Jan 5, 2015, 9:26:16 AM1/5/15
to


Regarding the resolution of the matrix Riccati equation, the problem does not arise if the Jacobian matrice 'A' contain constants (for exemple):

A=[-27,6,-3,9; 2,-6,-2,-6; -5,0,-5,-2; 10,3,4,-11];
B=[0,3; 16,4; -7,4; 9,6];
Q=[6,5,3,4; 5,6,3,4; 3,3,6,2; 4,4,2,6]; R=[4,1; 1,5];
C=Q; B1=B*inv(R)*B'; P=are(A,B1,C),
norm(P*A+A'*P-P*B*inv(R)*B'*P+Q)

But if this same Jacobian matrice result of a nonlinear system with respect to state variables x, y and z. Thus, this matrice will depend of these variables: for exemple, the matrix 'A' will contain constants and also variables: A=[-27x,6,-3y,9; 2,-6,-2,-6; -5,0,-5z,-2; 10,3,4z,-11]

which makes the resolution the matrix Riccati equation difficult.

Magdalin

Fargham Sandhu

unread,
Jan 19, 2015, 11:03:10 PM1/19/15
to
"Magdalin " <maste...@gmail.com> wrote in message <m8e6u2$4rv$1...@newscl01ah.mathworks.com>...
When dealing with recatti equation, the cost function must first be visited. If it contains certain references, then "lri" must be used, otherwise "are" can be used. It is however important that the A,B,C matrices are dimensioned the same.
There are two approaches to calculating the SDRE in real time, these are:
(1) By calculating the gain "K" in a time and schedule it so that it is given ample time to get steady. The time for updating "K" must be atleast 25 times slower than the system.
(2) by using some other numeric technique to try to make the system constant for a certain period of time and calculate that offline and save it for uppdating.
0 new messages