stabil — stabilization
F=stabil(A,B,alfa) K=stabil(Sys,alfa,beta)
square real matrix (nx x nx
)
real matrix (nx x nu
)
real or complex vector (in conjugate pairs) or real number.
real matrix (nx x nu
)
linear system (syslin
list) (m
inputs, p
outputs).
linear system (p
inputs, m
outputs)
F=stabil(A,B,alfa)
returns a gain matrix F
such that
A+B*F
is stable if pair (A,B)
is stabilizable.
Assignable poles are set to alfa(1),alfa(2),...
.
If (A,B)
is not stabilizable a warning is given
and assignable poles are set to alfa(1),alfa(2),...
.
If alfa
is a number all eigenvalues are set to this
alfa
(default value is alfa=-1
).
K=stabil(Sys,alfa,beta)
returns K
, a compensator for Sys
such that (A,B)
-controllable eigenvalues are set to
alfa
and (C,A)
-observable eigenvalues are set to beta
.
All assignable closed loop poles (which are given by the
eigenvalues of Aclosed=h_cl(Sys,K)
are set to alfa(i)
's
and beta(j)
's.
// Gain: Sys=ssrand(0,2,5,list('st',2,3,3)); A=Sys('A');B=Sys('B');F=stabil(A,B); spec(A) //2 controllable modes 2 unstable uncontrollable modes //and one stable uncontrollable mode spec(A+B*F) //the two controllable modes are set to -1. // Compensator: Sys=ssrand(3,2,5,list('st',2,3,3)); //3 outputs, 2 inputs, 5 states //2 controllables modes, 3 controllable or stabilizable modes. K=stabil(Sys,-2,-3); //Compensator for Sys. spec(Sys('A')) spec(h_cl(Sys,K)) //K Stabilizes what can be stabilized.