How to solve the Lyapunov equation with unknowns

10 views (last 30 days)
I'd like to ask those with unknowns Lyapunov What function does the equation use
The original equation is MV+VM‘=-D,
The matrix code is like this , There is only one unknown :
M=[0 w1 0 0 0 0;-q1 -r1 0 0 -g1u -g1v;0 0 0 w2 0 0;0 0 -q2 -r2 -g2u -g2v;g1v 0 g2v 0 -k x;-g1u 0 -g2u 0 -x -k];
d=[0 r1*(2n1+1) 0 r2(2*n2+1) k k];
D=diag(d);
V=lyap(M,D)
The following error occurred after running , Only numeric matrices can be calculated :
Misuse lyap (line 35)
The input arguments of the "lyap" command must be numeric arrays.
error Untitled (line 38)
V=lyap(M,D)
Thank you
  6 Comments
Sam Chak
Sam Chak on 26 Jul 2022
Edited: Sam Chak on 26 Jul 2022
I'm not good at magnomechanics, but it can clearly says that the elements of 𝒱are fully defined as function of u
and in Eq. (3), it is given that
.
So, maybe you can use ode45() to solve for . Then, you can find a steady-state 𝒱 when no longer change in time..

Sign in to comment.

Accepted Answer

Ivo Houtzager
Ivo Houtzager on 25 Jul 2022
One inefficient way is too convert the Lyaponuv Matrix equation to linear system using the vectorization rule, and solve the linear system.
A = kron(eye(6),M) + kron(M,eye(6));
B = D(:);
X = A\B;
V = reshape(X,6,6);
  8 Comments
Torsten
Torsten on 26 Jul 2022
Edited: Torsten on 26 Jul 2022
If "\" and "kron" can deal with symbolic parameters, then in principle the problem can be solved using Ivo Houtzager 's suggestion. The inversion of a matrix does only use subdeterminants of the matrix itself - no roots are needed.
But even if it theoretically works: for a 36x36 or even 144x144 matrix, the expressions involved will become useless in my opinion.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!