Solution to Robustness Bound Equation

1 次查看(过去 30 天)
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