MATLAB Answers

How to solve the riccati equations in matlab

9 ビュー (過去 30 日間)
hsuan wei pan
hsuan wei pan 2020 年 8 月 30 日
コメント済み: hsuan wei pan 2020 年 9 月 2 日
我想設計一個LTR觀察器,但是首先我需要求解類似這樣的黎卡提方程:“ Q *(A + I)'+(A + I)* Q-(Q * C'* C * Q / u)+ pi * G * G'“來獲得” Q“,我已經知道” u“” pi“和” A“” C“” G“向量。有人可以告訴我該怎麼做嗎?謝謝!!

  0 件のコメント

サインインしてコメントする。

採用された回答

David Wilson
David Wilson 2020 年 9 月 2 日
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 件のコメント

hsuan wei pan
hsuan wei pan 2020 年 9 月 2 日
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);

サインインしてコメントする。

その他の回答 (1 件)

David Wilson
David Wilson 2020 年 8 月 31 日
Do you have the control toolbox? I suspect that you could use are.m and related friends.

  1 件のコメント

hsuan wei pan
hsuan wei pan 2020 年 9 月 1 日
i think i need to use function "care" but i don't know how to use

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by