next up previous
Next: LMITOOL Up: Control Previous: Control

Robust control

-->s=poly(0,'s');
-->//MAC-FARLANE PROBLEM for G=1/s^3;
-->[P,r]=macglov(1/s^3);clean(P)
 ans  =
!              2   3       !
!   1 + 2s + 2s + s     1  !
!   ---------------     -  !
!           3            3 !
!          s            s  !
!                          !
!   0                   1  !
!   -                   -  !
!   1                   1  !
!                          !
!              2   3       !
!   1 + 2s + 2s + s     1  !
!   ---------------     -  !
!           3            3 !
!          s            s  !
-->//Optimal controller K:
-->//K Optimal controller , ro = gamaopt^-2;
-->[K,ro]=h_inf(P,r,0,1,30);
P22 is stabilizable
P22 is detectable
 gama =       1.4142135624 Unfeasible (Hx hamiltonian)  test =     0.30000E+01
 gama =       2.0000000000 Unfeasible (Hx hamiltonian)  test =     0.15613E+01
 gama =       2.8284271247 Unfeasible (Hx hamiltonian)  test =     0.13582E+01
 gama =       4.0000000000 Unfeasible (Hx hamiltonian)  test =     0.20258E+01
 gama =       5.6568542495 Unfeasible (Hx hamiltonian)  test =     0.16526E+02
 gama =       8.0000000000              OK              test =    -0.50000E+00
 gama =       6.5319726474              OK              test =    -0.50000E+00
 gama =       6.0474315681              OK              test =    -0.50000E+00
 gama =       5.8423739467 Unfeasible (Hx hamiltonian)  test =     0.60242E+02
 gama =       5.9422508217              OK              test =    -0.50000E+00
 gama =       5.8916775545 Unfeasible (Hx hamiltonian)  test =     0.19635E+03
 gama =       5.9168020931              OK              test =    -0.50000E+00
 gama =       5.9041997314 Unfeasible (Hx hamiltonian)  test =     0.45849E+03
 gama =       5.9104908357 Unfeasible (Hx hamiltonian)  test =     0.13893E+04
 gama =       5.9136439385              OK              test =    -0.50000E+00
 gama =       5.9120667565 Unfeasible (Hx hamiltonian)  test =     0.28256E+04
 gama =       5.9128551898 Unfeasible (Hx hamiltonian)  test =     0.58522E+04
 gama =       5.9132495247 Unfeasible (Hx hamiltonian)  test =     0.12603E+05
 gama =       5.9134467218 Unfeasible (Hx hamiltonian)  test =     0.29787E+05
 gama =       5.9135453277 Unfeasible (Hx hamiltonian)  test =     0.93598E+05
 gama =       5.9135946325              OK              test =    -0.50000E+00
 gama =       5.9135699799 Unfeasible (Hx hamiltonian)  test =     0.20153E+06
 gama =       5.9135823062 Unfeasible (Hx hamiltonian)  test =     0.47597E+06
 gama =       5.9135884693 Unfeasible (Hx hamiltonian)  test =     0.14915E+07
 gama =       5.9135915509              OK              test =    -0.50000E+00
 gama =       5.9135900101 Unfeasible (Hx hamiltonian)  test =     0.31966E+07
 gama =       5.9135907805 Unfeasible (Hx hamiltonian)  test =     0.74615E+07
 gama =       5.9135911657 Unfeasible (Hx hamiltonian)  test =     0.22414E+08
 gama =       5.9135913583              OK              test =    -0.50000E+00
 gama =       5.9135912620 Unfeasible (Hx hamiltonian)  test =     0.44919E+08
-->K,gamaopt=1/sqrt(ro)
 K  =
                               2
  - 1 - 3.4142136s - 5.8284271s
    ---------------------------
                              2
    5.8284271 + 3.4142136s + s
 gamaopt  =
    5.9135914
-->// Check internal stability:
-->Tzw=lft(tf2ss(P),tf2ss(K));
-->[Acl,Bcl,Ccl,Dcl]=abcd(Tzw); spec(Acl)
 ans  =
! - 1.                     !
! - 0.5 + 0.8660254i       !
! - 0.5 - 0.8660254i       !
! - 0.7071068 + 0.7071068i !
! - 0.7071068 - 0.7071068i !
-->//Optimal gain:
-->ga=h_norm(Tzw)
 ga  =
    5.9135914
-->//Compare with gamaopt
-->ga-gamaopt
 ans  =
    5.914D-08
-->//Compare with theory
-->[N,M]=lcf(tf2ss(1/s^3)); //Left coprime factorization of G.
-->nk=hankelsv([N,M]);
-->ro-( 1-nk(1) )
 ans  =
  - 3.714D-12


Scilab group