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);