How to solve the Lyapunov equation with unknowns

6 views (last 30 days)
Abdelkader Hd on 25 Jul 2022
Edited: Torsten on 26 Jul 2022
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
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..

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);
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.