How to solve the riccati equations in matlab

2 views (last 30 days)
我想設計一個LTR觀察器,但是首先我需要求解類似這樣的黎卡提方程:“ Q *(A + I)'+(A + I)* Q-(Q * C'* C * Q / u)+ pi * G * G'“來獲得” Q“,我已經知道” u“” pi“和” A“” C“” G“向量。有人可以告訴我該怎麼做嗎?謝謝!!

Accepted Answer

David Wilson
David Wilson on 2 Sep 2020
Well, if Google translate is accurate, you seem to want to solve
for the matrix Q. I'm assuming that everything is a matrix with the appropriate dimensions, and that u is a scalar (going by the way you have written this.)
Now the function are.m, (not care.m, since that has been depreciated), solves
for matrix X. Note that this is in the same form as what you have, but of course you need some "translation" from your nomenclature, to Matlab's. In other words
your nomenclature Matlab
  1 Comment
hsuan wei pan
hsuan wei pan on 2 Sep 2020
thank you very much , I think i solved the problem!!
this is my code
tf( [9.86e12 7.862e16 1.865e20 1.05e24 8.063e26 3.374e30 2.268e32 3.481e35], [1 7336 5.912e07 2.581e11 1.068e15 2.797e18 6.708e21 1.011e25 1.199e28 6.47e30 1.395e33 5.364e35]);
[a,b,c,d] = tf2ss([9.86e12 7.862e16 1.865e20 1.05e24 8.063e26 3.374e30 2.268e32 3.481e35], [1 7336 5.912e07 2.581e11 1.068e15 2.797e18 6.708e21 1.011e25 1.199e28 6.47e30 1.395e33 5.364e35]);
I = eye(11);
pi = 1000;
u = 1;
A = (a+I)' ;
B = c' ;
C = pi*b*b' ;
[Q] = care(A,B,C);

Sign in to comment.

More Answers (1)

David Wilson
David Wilson on 31 Aug 2020
Do you have the control toolbox? I suspect that you could use are.m and related friends.
  1 Comment
hsuan wei pan
hsuan wei pan on 1 Sep 2020
i think i need to use function "care" but i don't know how to use

Sign in to comment.

Categories

Find more on Matrix Computations in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!