Re: Re: Bode Plots in Mathematica

• To: mathgroup at smc.vnet.net
• Subject: [mg57280] Re: [mg57249] Re: Bode Plots in Mathematica
• From: "David Park" <djmp at earthlink.net>
• Date: Mon, 23 May 2005 02:20:51 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```Nasser,

As I said in the earlier posting, the BodePlot routine is in the
DrawGraphics Help under Examples, LogPlots & Bode Plots. It is not a
built-in routine in DrawGraphics, but the code is there in the example and
can be copied and modified if desired.

The BodePlot allows plot options to be passed and these can override the
built-in options. Thus you could pass FrameLabel -> {"frequency

You could modify the nformat routine for the horizontal ticks, but I don't
think that 10^(-1), 10^0, and 10^1 look that great. Everyone to their own
choice.

It is certainly much more compact to plot phase and magnitude on the same
plot. Why repeat the whole frequency scale? Also it shows the relation
between the phase and magnitude more clearly. Separate plots could be made
by splitting the code and either using GraphicsArray or using two side by
side Rectangles. Much better would be one Rectangle above another. In that
case I would leave the ticks off the individual plots and use XSymbolicScale
to label the frequency values on the lower plot only, and YTickLine to label
the magnitude and phase values just outside the Rectangles. The light grid
lines would carry the frequencies values up through both rectangles. By
leaving the ticks and labels off the internal Rectangle plots you can easily
make them perfectly align.

David Park

From: Nasser Abbasi [mailto:nma at 12000.org]
To: mathgroup at smc.vnet.net

> David Park
>
>
>

David;

Nice work.

few comments (this is on 5.1):

The x-axis (the frequency axis) usually has the values displayed all
as powers of 10. i.e. as in 10^-2, 10^-1, 10^0, 10^1, etc...

Your output shows these as 10^-2, 0.1, 0, 10, but then uses 10^2 after
that, I think it is better to have all these shown in one format which
is 10^n.

You might want to label the x-axis also as 'frequency (rad/sec)' as
that is the standard instead of 's'.

The 'standard' also is to show the phase and magnitude on separate
plots and not on the same one.

You might want to label the y-axis as 'Phase(degrees)' and
'Magnitude(db)' instead of just 'db' and 'phase'.

Is the BodePlot[] function supposed to be inside one of your packages?
I had to cut/paste the code from the news server posting to define it
Needs["DrawGraphics`DrawingMaster`"]
Needs["Graphics`Graphics`"]