Message Boards Message Boards

0
|
2532 Views
|
1 Reply
|
0 Total Likes
View groups...
Share
Share this post:

Solving matrix Riccati differential equation?

Posted 3 years ago

Hello everybody. I am trying to solve matrix riccati differential equation for an LQR controller. I tried solving it with DSolve function but it didn't work.I also tried NDsolve function. Do you have a solution for this? I attached the equation for you.

DSolve[P'[t] == -P[t] . A - Transpose[A] . P[t] - Q + (P[t] . B + M) . 
     Transpose[R] . (Transpose[B] . P[t] + Transpose[M]), P[t], t];
Attachment

Attachments:
POSTED BY: Hasti Abedi

NDSolve gives an output this way:

With[{Q = IdentityMatrix[2], B = IdentityMatrix[2], 
  M = IdentityMatrix[2], A = IdentityMatrix[2], R = IdentityMatrix[2]},
 NDSolve[{P'[t] == -P[t] . A - Transpose[A] . P[t] - 
     Q + (P[t] . B + M) . 
      Transpose[R] . (Transpose[B] . P[t] + Transpose[M]), 
   P[1] == IdentityMatrix[2]}, P[t], {t, 0, 1}]]

but I don't know whether it is meaningful. Unfortunately symbolic matrices and numerical matrices do not mix well together.

POSTED BY: Gianluca Gorni
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract