stabilizable = StateSpace.Analysis.isStabilizable(ss, method)
This function checks whether a state space system is stabilizable or not.
A system is stabilizable for the continuous-time case if all of the uncontrollable eigenvalues have negative real part.
Therefore, a controllable system is always stabilizable.
To check stabilizability, staircase algorithm is used to separate the controllable subspace from the uncontrollable subspace. Then, the uncontrollable poles are checked to be stable, i.e. to have negative real parts.
Modelica_LinearSystems2.StateSpace ss=Modelica_LinearSystems2.StateSpace( A=[1, 1, 1;0, 1, 1;0, 0, 1], B=[0; 0; 1], C=[0, 1, 0], D=[0]); Boolean stabilizable; algorithm stabilizable := Modelica_LinearSystems2.StateSpace.Analysis.isStabilizable(ss); // stabilizable = true
encapsulated function isStabilizable import Modelica_LinearSystems2; import Modelica_LinearSystems2.StateSpace; input StateSpace ss "State space system"; output Boolean stabilizable "= true, if system is stabilizable"; end isStabilizable;
Date | Author | Comment |
---|---|---|
2010-05-31 | Marcus Baur, DLR-RM | Realization |