This example shows the usage of the staircase algorithm to transform a state space system in staircase form to analyze controllability.
function analysisStairCase extends Modelica.Icons.Function; import Modelica_LinearSystems2.StateSpace; import Modelica.Utilities.Streams.print; input Boolean systemOnFile = false "True, if state space system is defined on file" annotation( Dialog(group = "system data definition"), choices(checkBox = true)); input String fileName = "NoName" "file where matrix [A, B; C, D] is stored" annotation( Dialog(group = "system data definition", loadSelector(filter = "MAT files (*.mat);; All files (*.*)", caption = "state space system data file"), enable = systemOnFile)); input String matrixName = "ABCD" "Name of the state space system matrix" annotation( Dialog(group = "system data definition", enable = systemOnFile)); input StateSpace ssi = StateSpace(A = [1, 2, 3, 4, 5, 6; 5, 6, 7, 8, 9, 4; 0, 2, 3, 0, 78, 6; 1, 1, 2, 2, 3, 3; 10, 13, 34, 0, 0, 1; 0, 0, 0, 2, 0, 1], B = [1; 2; 0; 0; 0; 0], C = [1, 0, 1, 0, 1, 0], D = [0]); output Boolean ok; end analysisStairCase;