Use symbolic variable for lyapunov function
Ältere Kommentare anzeigen
I am trying to find a value for a lyapunov function but I do not know the numeric values. When I run the lyapunov command, I get an error that only numeric arrays can be used. Is there a way for using only symbolic variable to get the answer.
4 Kommentare
Sam Chak
am 9 Mär. 2022
Without showing your work and the relevant info about your system, it's very difficult to provide assistance.
Kashish Pilyal
am 9 Mär. 2022
Sam Chak
am 9 Mär. 2022
I have tested and verified the results symbolically that
holds.
clear all; clc
syms a b c
A = sym('A', [3 3]); % state matrix
P = sym('P', [3 3]); % positive definite matrix
A = [sym('0') sym('1') sym('0');
-a -b sym('0');
sym('0') c -c];
P = [((a^3 + 2*a^2*b*c + 2*a^2*c^2 + a^2 + a*b^2 + a*b*c + a*c^2 + b^3*c + b^2*c^2)/(2*a*b*(c^2 + b*c + a))) (1/(2*a)) (-a/(2*(c^2 + b*c + a)));
(1/(2*a)) ((a^2 + 2*a*c^2 + b*a*c + a + c^2 + b*c)/(2*a*b*(c^2 + b*c + a))) (c/(2*(c^2 + b*c + a)));
(-a/(2*(c^2 + b*c + a))) (c/(2*(c^2 + b*c + a))) (1/(2*c))];
Q = sym(eye(3)); % identity matrix
L = A.'*P + P*A + Q; % Lyapunov equation
simplify(L)
Result:

Kashish Pilyal
am 9 Mär. 2022
Akzeptierte Antwort
Weitere Antworten (1)
syms k_p k_d h
A = sym('A', [3 3]);
X = sym('X', [3 3]);
A = [sym('0') sym('1') sym('0');
-k_p -k_d sym('0');
sym('0') sym('1')/h sym('-1')/h];
Q = sym(eye(3));
N = sym(zeros(3));
B = A.'*X + X*A + Q;
F = solve(B==N)
Kategorien
Mehr zu Matrix Computations finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



