Example to demonstrate the transformation of a state space representation to Jordan- observabilitiy- and controllability canonical form
function transformation extends Modelica.Icons.Function; import Modelica_LinearSystems2.StateSpace; 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 Real A[:, :] = [-1.0, 0.0, 0.0; 0.0, -2.0, 0.0; 0.0, 0.0, -3.0] annotation( Dialog(group = "system matrices", enable = not systemOnFile)); input Real B[:, :] = [1.0; 1.0; 2.0] annotation( Dialog(group = "system matrices", enable = not systemOnFile)); input Real C[:, :] = [1.0, 1.0, 1.0] annotation( Dialog(group = "system matrices", enable = not systemOnFile)); input Real D[:, :] = [0.0] annotation( Dialog(group = "system matrices", enable = not systemOnFile)); output Boolean ok; end transformation;