StateSpace.Plot.plotBodeSISO(ss) or StateSpace.Plot.plotBodeSISO(ss, iu, iy, nPoints, autoRange, f_min, f_max, magnitude=true, phase=true, defaultDiagram=Modelica_LinearSystems2.Internal.DefaultDiagramBodePlot(), device=Modelica_LinearSystems2.Utilities.Plot.Records.Device() )
Plots the bode-diagram of a transfer function.
Function plotBodeSISO plots a bode-diagram of the transfer function corresponding to the behavior of the state space system from iu'th element of the input vector u to the iy'th element of the output vector y.
Modelica_LinearSystems2.StateSpace ss=Modelica_LinearSystems2.StateSpace( A=[-1.0,0.0,0.0; 0.0,-2.0,0.0; 0.0,0.0,-3.0], B=[0.0,1.0; 1.0,1.0; -1.0,0.0], C=[0.0,1.0,1.0; 1.0,1.0,1.0], D=[1.0,0.0; 0.0,1.0]) Integer iu=1; Integer iy=1; algorithm Modelica_LinearSystems2.StateSpace.Plot.plotBodeSISO(ss, iu, iy) // gives:
encapsulated function bodeSISO import Modelica; import Modelica_LinearSystems2; import Modelica_LinearSystems2.WorkInProgress.DiscreteStateSpace; import Modelica_LinearSystems2.DiscreteTransferFunction; input DiscreteStateSpace dss "discrete state space system"; input Integer iu = 1 "index of input"; input Integer iy = 1 "index of output"; input Integer nPoints(min = 2) = 200 "Number of points"; input Boolean autoRange = true "True, if abszissa range is automatically determined"; input Modelica.Units.SI.Frequency f_min = 0.1 "Minimum frequency value, if autoRange = false"; input Modelica.Units.SI.Frequency f_max = 10 "Maximum frequency value, if autoRange = false"; input Boolean magnitude = true "= true, to plot the magnitude of dtf" annotation( choices(checkBox = true)); input Boolean phase = true "= true, to plot the phase of tf" annotation( choices(checkBox = true)); extends Modelica_LinearSystems2.Internal.PartialPlotFunction(defaultDiagram = Modelica_LinearSystems2.Internal.DefaultDiagramBodePlot()); end bodeSISO;