How to solve the riccati equations in matlab

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

 Respuesta aceptada

David Wilson
David Wilson el 2 de Sept. de 2020

1 voto

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 comentario

hsuan wei pan
hsuan wei pan el 2 de Sept. de 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);

Iniciar sesión para comentar.

Más respuestas (1)

David Wilson
David Wilson el 31 de Ag. de 2020

0 votos

Do you have the control toolbox? I suspect that you could use are.m and related friends.

1 comentario

hsuan wei pan
hsuan wei pan el 1 de Sept. de 2020
i think i need to use function "care" but i don't know how to use

Iniciar sesión para comentar.

Categorías

Más información sobre Matrix Computations en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 30 de Ag. de 2020

Comentada:

el 2 de Sept. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by