observable = StateSpace.Analysis.isObservable(ss, method)
Function StateSpace.Analysis.isObservable
checks the observability of a state space system. Since
observability is dual to controllability of the dual system (A',
C', B', D'), proof of observability is referred to proof of
controllability of the dual system.
The boolean input method defines for multi output
systems the method to generate the staircase form of the system,
whereas Types.StaircaseMethod.QR and Types.StaircaseMethod.SVD
denotes QR-factorization and singular value decomposition
respectively. Since staircase algorithm contains rank decisions
QR-factorization should be restricted to well conditioned systems
of lower order (<5). Default is SVD.
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]);
Types.Method method=Modelica_LinearSystems2.Types.StaircaseMethod.SVD
Boolean observable;
algorithm
observable := Modelica_LinearSystems2.StateSpace.Analysis.isObservable(ss, method);
// observable = false
encapsulated function isObservable import Modelica_LinearSystems2; import Modelica_LinearSystems2.StateSpace; input StateSpace ss "State space system"; input Modelica_LinearSystems2.Utilities.Types.StaircaseMethod method = Modelica_LinearSystems2.Utilities.Types.StaircaseMethod.SVD "Staircase algorithm method"; output Boolean observable "= true, if system is observable"; end isObservable;
| Date | Author | Comment |
|---|---|---|
| 2010-05-31 | Marcus Baur, DLR-RM | Realization |