Lyapunov stability analysis function

조회 수: 121 (최근 30일)
Lydia Abigail Garza Coello
Lydia Abigail Garza Coello 2022년 11월 30일
답변: Sam Chak 2022년 12월 2일
Is there any function that can be used to compute the Lyapunov stability anlaisisy for a second order system?
I want to know if the following system is stable [1]:
[1] M. Dai, R. Qi and X. Cheng, "Super-Twisting Sliding Mode Control Design for Electric Dynamic Load Simulator," 2019 Chinese Control Conference (CCC), 2019, pp. 3078-3083, doi: 10.23919/ChiCC.2019.8865725

채택된 답변

Sam Chak
Sam Chak 2022년 12월 2일
As far as I know, there is no built-in function.m in MATLAB for directly performing the Lyapunov stability analysis. If you are referring to the Lyapunov candidate function, there is no standard technique to construct such a function for a given system, because the system must have a mathematical framework that lends itself to the formation of the Lyapunov function.
I haven't read the suggested paper, but here is an example. If and , then we can design so that the system becomes
.
This system is a special class of 2nd-order systems that is commonly seen in some mechanical motion systems and electrical RLC circuits. For this kind of system, the stability can always be proven without applying the LaSalle invariance principle by constructing the Quadratic Lyapunov Function
where is a positive symmetric matrix that can be designed based on the matrix formula given in the code.
syms x(t) y(t) k2 k3
% Assumptions
assume(k2 > 0 & k3 > 0)
assume([x(t) y(t)], 'real')
assumptions
ans = 
% System
dx = y;
dy = - k3*x - k2*y;
% Definitions
v = [x; y]
v(t) = 
P = [1/2*k2^2+k3 1/2*k2; 1/2*k2 1] % positive-definite matrix
P = 
% Lyapunov candidate function
V = v.'*P*v
V(t) = 
% Differentiate V along trajectories of the System
dV = diff(V, t)
dV(t) = 
dV = subs(dV, {diff(x,t), diff(y,t)}, {dx, dy});
dV = simplify(dV)
dV(t) = 
% Test
tf = isAlways(dV(t) <= 0)
tf = logical
1

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Computations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by