stabilizability test
[ns, [nc, [,U [,Slo] ]]]=st_ility(Sl [,tol])
:Sl syslin list (linear system) : :ns integer (dimension of stabilizable subspace) : :nc integer (dimension of controllable subspace nc <= ns) : :U basis such that its ns (resp. nc) first components span the
stabilizable (resp. controllable) subspace
: :Slo a linear system ( syslin list) : :tol threshold for controllability detection (see contr) :
Slo=( U’*A*U, U’*B, C*U, D, U’*x0 ) ( syslin list) displays the stabilizable form of Sl. Stabilizability means ns=nx (dim. of A matrix).
[*,*,*] [*]
U'*A*U = [0,*,*] U'*B = [0]
[0,0,*] [0]
where (A11,B1) (dim(A11)= nc) is controllable and A22 (dim(A22)= ns-nc) is stable. “Stable” means real part of eigenvalues negative for a continuous linear system, and magnitude of eigenvalues lower than one for a discrete-time system (as defined by syslin).
A=`diag`_([0.9,-2,3]);B=[0;0;1];Sl=`syslin`_('c',A,B,[]);
[ns,nc,U]=st_ility(Sl);
U'*A*U
U'*B
[ns,nc,U]=st_ility(`syslin`_('d',A,B,[]));
U'*A*U
U'*B