This example demonstrates the construnction of a zeros-and-poles-transfer-function from a SISO state space representation and plots the Bode diagrams with automatic determination of the frequency range to plot.
function plotBodeSISO extends Modelica.Icons.Function; import Modelica_LinearSystems2.StateSpace; input Boolean systemOnFile = false "True, if state space system is defined on file"; input String fileName = "NoName" "file where matrix [A, B; C, D] is stored" annotation( Dialog(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]; input Real B[size(A, 2), :] = [0.0, 1.0; 1.0, 1.0; -1.0, 0.0]; input Real C[:, size(A, 1)] = [0.0, 1.0, 1.0; 1.0, 1.0, 1.0]; input Real D[size(C, 1), size(B, 2)] = [1.0, 0.0; 0.0, 1.0]; input Integer iu = 1 "Index of input"; input Integer iy = 1 "Index of output"; output Boolean ok; end plotBodeSISO;