Dynamic Systems
Several improvements have been made to the DynamicSystems package, including:
Extended FrequencyResponse to handle differential equations with input derivatives.
Extended all models to accept linear, non-differential systems.
Added frequencies option to all frequency-based plots, which permits specifying the precise frequencies at which expressions are evaluated.
Extended Grammians to work with discrete systems.
Added NicholsPlot to the context menu.
Example
with⁡DynamicSystems:
Assign a differential system with derivatives in the input.
deq:=3⁢ⅆ2ⅆt2⁢y⁡t−2⁢y⁡t=ut+ⅆⅆt⁢ut:
sys:=DiffEquationdeq,u,y:
Plot the magnitude of the response vs frequency, adding circles at selected frequencies. This is done by generating and combining two plots.
plots[display]⁡MagnitudePlot⁡sys,MagnitudePlot⁡sys,frequencies=0.1,1,10,style=point,symbolsize=20,symbol=circle
A Nichols plot is useful for quickly estimating the closed-loop response of system with unity-feedback, given its open-loop transfer function. For example, let the open-loop transfer function be:
G:=1s⁢s+1⁢s2+1:
By default a Nichols plot includes constant-phase and constant-magnitude contour plots of a closed-loop system. From the graph below, the peak closed-loop response is about 5 dB, at 0.8 rad/s, because that is the highest constant-magnitude contour that it touches (estimating).
NicholsPlot⁡TransferFunction⁡G,gainrange=−20..20,frequencies=0.8
Here we plot the actual closed-loop response and confirm that the maximum gain is approximately 5 dB, at 0.8 rad/s.
CL:=TransferFunction⁡G1+G:
MagnitudePlot⁡CL,range=0.1..10
See Also
DynamicSystems
Download Help Document