1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
stabil(1) Scilab Function stabil(1)
NAME
stabil - stabilization
CALLING SEQUENCE
F=stabil(A,B,alfa)
K=stabil(Sys,alfa,beta)
PARAMETERS
A : square real matrix (nx x nx)
B : real matrix (nx x nu)
alfa, beta
: real or complex vector (in conjugate pairs) or real number.
F : real matrix (nx x nu)
Sys : linear system (syslin list) (m inputs, p outputs).
K : linear system (p inputs, m outputs)
DESCRIPTION
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.
EXAMPLE
// 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.
SEE ALSO
st_ility, contr, ppol
|