This example demonstrates the conversion of a MIMO zeros-and-poles system into a state space system.
function conversionToZerosAndPolesMIMO extends Modelica.Icons.Function; import Modelica_LinearSystems2.StateSpace; 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 Real A[:, size(A, 1)] = [-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[size(A, 2), :] = [0.0, 1.0; 1.0, 1.0; -1.0, 0.0] annotation( Dialog(group = "system matrices", enable = not systemOnFile)); input Real C[:, size(A, 1)] = [0.0, 1.0, 1.0; 1.0, 1.0, 1.0] annotation( Dialog(group = "system matrices", enable = not systemOnFile)); input Real D[size(C, 1), size(B, 2)] = [1.0, 0.0; 0.0, 1.0] annotation( Dialog(group = "system matrices", enable = not systemOnFile)); output Boolean ok; end conversionToZerosAndPolesMIMO;