next up previous
Next: Output Feedback Up: LMITOOL Previous: LMITOOL

H-infinity gain

Compute H-infinity gain of a dynamical system given by it's state representation. The problem is here:

Minimize gama under the constraints:

X'-X = 0

and

[A X + X A''+', B, X C']


[ B''+', -gama I, D']


[C X, D, -gama I] < 0

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


Scilab group