functionisControllable

Check controllability of a state space system

Information

Syntax

controllable = StateSpace.Analysis.isControllable(ss, method)

Description

Function StateSpace.Analysis.isControllable checks the controllability of a state space system. Therefore, the system is transformed into staircase form, i.e. the system matrix H of the transformed system has block upper Hessenberg form:

|   H11     H12     H13     ⋯     H1k   |
| H21 H22 H23 ⋯ H2k |
| 0 H32 H33 ⋯ H3k |
H = | ⋮ ⋱ ⋱ ⋱ ⋮ |
| 0 ⋯ 0 Hk,k-1 Hkk |

where, if Hk,k-1 has full rank, indicating whether the system is controllable or not.

For single input systems the staircase form is a usual upper Hessenberg form, i.e. the blocks are of dimension one.
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.

Since controllability is dual to observability of the dual system (A', C', B', D'), proof of observability is referred to proof of controllability of the dual system.

Example

  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.Utilities.Types.StaircaseMethod.SVD;

  Boolean controllable;

algorithm
  controllable := Modelica_LinearSystems2.StateSpace.Analysis.isControllable(ss, method);
// controllable = true

Inputs

TypeNameDefaultDescription
StateSpacessState space system
Modelica_LinearSystems2.Utilities.Types.StaircaseMethodmethodModelica_LinearSystems2.Utilities.Types.StaircaseMethod.SVDStaircase algorithm method

Outputs

TypeNameDefaultDescription
Booleancontrollable= true, if system is controllable

Revisions

Date Author Comment
2010-05-31 Marcus Baur, DLR-RM Realization