Minimize gama under the constraints:
This problem is solved by the function below Evaluation function
function [LME,LMI,OBJ]=normopt_eval(XLIST) [X,gama]=XLIST(:) /////////////////DEFINE LME, LMI and OBJ BELOW LME=X'-X LMI=-[A*X+X*A', B, X*C'; B', -gama*Ib, D'; C*X, D, -gama*Ic] OBJ=gama
H-infinity norm computation function generated by lmitool
function [X,c]=normopt(A,B,C,D) // Generated by lmitool on Wed Feb 08 16:17:01 MET 1995 Mbound = 1e3;abstol = 1e-10;reltol = 1e-10; nu = 10;maxiters = 100; options=[Mbound,abstol,nu,maxiters,reltol]; ///////////DEFINE INITIAL GUESS BELOW X_init=eye(A);Ib=eye(B'*B);Ic=eye(C*C');c_init=10; /////////// XLIST0=list(X_init,c_init) XLIST=lmisolver(XLIST0,normopt_eval,options) [X,c]=XLIST(:)
An example of usage
//Let's try a simple example with 3 states //Edit below A,B,C,D matrices A=[0,1,0;2,3,1;-1,-2,0]; B=[1,0;-2,1;0,1]; C=[1,2,0;0,1,-2]; D=[0,0;0,0]; // Resolution [X,gopt]=normopt(A,B,C,D); //optimal gama found is: gopt gopt = 6.7678289 //check: gopt-h_norm(syslin('c',A,B,C,D) ans = - 6.745D-08