I am using Mathematica to go through the examples and exercises on the book Modern Control Systems by Dorf, 6h edition. On page 605, there is a table (Table 8.5) with the Bode plot for several transfer functions. In what follows there is a piece of code that attempts to build the very same table.
Here is the code :
With[{ τ1 = 20, τ2 = 2, τ3 = 0.4, τ4 = 0.05, τa = 10, τb = 1, k = 10},
Grid[
Partition[
Table[ BodePlot[ sys, PlotLabel->sys, GridLines -> Automatic], { sys,
{ k/(s τ1 + 1), (k(s τa + 1))/(s(s τ1 + 1)(s τ2 + 1)),
k/((s τ1 + 1)(s τ2 + 1)), k/s^2, k/((s τ1 + 1)(s τ2 + 1)(s τ3 + 1)),
k/(s^2 (s τ1 + 1)), k/s, (k(s τa + 1))/(s^2 (s τ1 + 1)),
k/(s(s τ1 + 1)), k/s^3, k/(s(s τ1 + 1)(s τ2 + 1)),
(k (s τa + 1))/s^3, (k (s τa + 1)(s τb + 1))/s^3,
(k (s τa + 1))/(s^2 (s τ1 + 1)(s τ2 + 1)),
(k (s τa + 1)(s τb + 1))/(s(s τ1 + 1)(s τ2 + 1)(s τ3 + 1)(s τ4 + 1)) }
}
], 2], Frame->All, Spacings->6] ]

All the transfer functions with 1/sˆn ( n > 1 ) give the wrong result as far as the phase plot is concerned. Is there a simple way to fix this ? Wolfram does not have a time line to go through the problem and sort it out.


editunder your question. – Artes Jan 4 at 13:13