MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: Bode Plots in Mathematica

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


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
(rad/sec)",...} if you wished.

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

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
djmp at

From: Nasser Abbasi [mailto:nma at]
To: mathgroup at

> David Park
> djmp at


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
even though I just downloaded your packages and loaded

and thanks for your work.


  • Prev by Date: Re: Re: Re: Re: Re: How to get an answer as a Root object?
  • Next by Date: Re: right to left fonts inside strings
  • Previous by thread: Re: Re: Bode Plots in Mathematica
  • Next by thread: How to use only part of mapping