The file Demo_011.m is found in IQClab’s folder demos; it demonstrates how to implement a new LMI problem. More specifically, we show how to implement the Bounded-Real Lemma and demonstrate how we can check if a random LTI system is stable and what the corresponding
norm is.
To this end, let us consider the LTI system
, and assume that the pair
is controllable. This system is stable and has an
-norm smaller than
if and only if there exists a positive definite solution
for which the following matrix inequality is feasible:
.
This can be easily written as a genuine LMI by applying the Schur complement. This yields:
.
This LMI can be easily implemented as follows:
% Define random LTI system with n states
n = 10;
G = rss(n,1,2);
[no,ni] = size(G);
% Define IQC-LMI problem
prob = iqcprob;
% Define LMI variables
X = iqcvar(prob,[n,n],'symmetric');
gamma = iqcvar(prob,[1,1],'full');
% Define LMI
P = blkdiag(oblkdiag(X),-gamma*eye(no+ni));
A = [eye(n),zeros(n,no+ni);G.a,G.b,zeros(n,no);...
zeros(ni+no,n),eye(no+ni)];
B = fHe([zeros(n+ni,n+no+ni);-[G.c,G.d,zeros(no)]]);
prob = iqclmi(prob,P,-1,B,A);
prob = iqclmi(prob,X,1);
% Solve IQC-LMI problem
prob = iqcsolve(prob,gamma);
% Check solution
P = iqcdec2mat(prob,P);
X = iqcdec2mat(prob,X);
gamma = iqcdec2mat(prob,gamma);
disp('Check if the main LMI is negative definite:');
disp(eig(A'*P*A-B));
disp('Check if X is positive definite');
disp(eig(X));
disp('The computed bound on the H-infinity norm is:');
disp(gamma);
