Solution to Robustness Bound Equation

조회 수: 2 (최근 30일)
Md Samiul Mohsin
Md Samiul Mohsin 2021년 1월 22일
답변: Yash 2024년 2월 20일
I am trying to measure the robustness of a control system by providing bounds on perturbations that can keep system stability.
The following equation expresses the linear uncertainty in the linear state-space system.
x(dot) = Ax+Ex ------(1)
E is called the “perturbation” matrix in the above equation. The system matrix A with perturbation E in equation (1) remains stable if the following condition is satisfied.
σ_max(E)<1/σ_max(P)=μ ------(2)
where P is the solution to the following Lyapunov matrix.
P A+A^T P+2I=0 ------- (3)
First, from eq. (3), I need to find the P which I did by using "lyap" command. Now by using the value of P I need to solve equation (2), which I am not being able to do so. If anyone can help me with the code or any suggestion?

답변 (1개)

Yash
Yash 2024년 2월 20일
To solve equation (2) using the value of P obtained from equation (3), you can find the maximum of the singular value decomposition of the P and E matrices and then check whether the condition in equation (2) is satisfied. Fo this you can use the svd function in MATLAB. You can use the below code snippet for your reference:
sigma_max_P = max(svd(P)); % maximum singular value of P
sigma_max_E = max(svd(E)); % maximum singular value of E
% Check if the condition in equation (2) is satisfied
if sigma_max_E < 1/sigma_max_P
disp('System is stable');
else
disp('System is not stable');
end
This snippet will determine whether the system remains stable based on the condition in equation (2). To know more about the svd function you can refer to its documentation here: https://in.mathworks.com/help/matlab/ref/double.svd.html

카테고리

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