Message Boards Message Boards

GROUPS:

Solving matrix Riccati differential equation?

Posted 3 months ago
480 Views
|
1 Reply
|
0 Total Likes
|

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:

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.

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