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;