MathGroup Archive 2009

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

Search the Archive

Re: ParametricPlot problem

  • To: mathgroup at smc.vnet.net
  • Subject: [mg97823] Re: [mg97773] ParametricPlot problem
  • From: "David Park" <djmpark at comcast.net>
  • Date: Sun, 22 Mar 2009 05:51:17 -0500 (EST)
  • References: <14534444.1237632927449.JavaMail.root@m02>

Jakub,

transfer[r_, c_][f_] := 1/(1 + I 2 \[Pi] f r c)

One method is to use brute force by increasing both the PlotPoints and
pushing MaxRecursion to the limit of 15 for plots (the Help is misleading).
MaxRecursion is usually the first choice, before PlotPoints, for obtaining
better detail and smoother curves. But here we also need PlotPoints.

ParametricPlot[{Re[transfer[100., .00001][f]], 
  Im[transfer[100., .00001][f]]}, {f, .1, 100000000},
 AspectRatio -> .5,
 PlotPoints -> 400,
 MaxRecursion -> 15,
 PlotRange -> All,
 Frame -> True]

However, a much better method is to use a log variable in the plot iterator.

ParametricPlot[{Re[transfer[100., .00001][10^logf]], 
  Im[transfer[100., .00001][10^logf]]}, {logf, -1., 8.},
 AspectRatio -> .5,
 PlotRange -> All,
 Frame -> True]

In both cases you can keep double clicking the curve to see the points that
Mathematica actually used.


David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/  


From: Serych Jakub [mailto:Serych at panska.cz] 

Dear M users,
I'm trying to draw phasor characteristic of simple RC low pass filter. Its
transfer function is:

r = 100;
c = 0.00001;
transfer[f_] := 1/(1 + I 2 \[Pi] f r c);

The phasor characteristic should be drawn with:

ParametricPlot[{Re[transfer[f]], Im[transfer[f]]}, {f, 0, Infinity}]

I can understand, that Mathematica has problem with calculation of the
transfer function for frequency from 0 to Infinity, so I tried to use 10^8
in
the place of infinity. But as the ParametricPlot IMHO subdivides the
frequency range  into constant intervals, it draws piece of the curve only
for frequencies near to 10^8.
I found that the relatively reasonable result is with frequency range 0 to
10^3:

ParametricPlot[{Re[transfer[f]], Im[transfer[f]]}, {f, 0, 10^3}]

but there is missing the part of curve near to coordinates origin.

Is there any way to tell the ParametricPlot to divide the interval of the
frequency in logarithmic manner to have the possibility to draw the phasor
characteristic in the bigger frequency range?

I tried the PlotPoints and PerformanceGoal options, but it doesn't help (or
I
cannot use it).

Thanks a lot for any help

Jakub





  • Prev by Date: Re: DirectSum (feature request)
  • Next by Date: Re: DSolve bug
  • Previous by thread: Re: ParametricPlot problem
  • Next by thread: utterly confused by Lightweight Grid