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 |