Solution to Robustness Bound Equation

2 views (last 30 days)
Md Samiul Mohsin
Md Samiul Mohsin on 22 Jan 2021
Answered: Yash on 20 Feb 2024
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?

Answers (1)

Yash
Yash on 20 Feb 2024
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

Categories

Find more on Matrix Computations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!