Re: Mathematica Graphics
- To: mathgroup at smc.vnet.net
- Subject: [mg9192] Re: Mathematica Graphics
- From: Lars Hohmuth <larsh>
- Date: Tue, 21 Oct 1997 02:03:05 -0400
- Organization: Wolfram Research Inc.
- Sender: owner-wri-mathgroup at wolfram.com
David, Sorry for replying to a followup, but I was out of the office the last week and can't seem to find the original message. The advice Terry gives is generally sound and good practice in all programming one does. Unfortunately, here the culprit is something different. If you check the values of ChiPlot at one of the points Mathematica complains about, you'll see that (because this function IS 'dangerous' numerically) a spurious tiny imaginary part gets introduced. In[4]:= ChiPlot[0.025,0.0499948249319424853] Out[4]= 20.00129551965732 - 5.241281105093912*^-6*I Plot[] expects real numbers; so the easiest way of preventing the error messages is wrapping Re[] around ChiPlot Plot[{Re[ChiPlot[0.025,w]]},{w,0.04999,0.050},PlotPoints->200, PlotRange->{19.998,20.003}] Hope this helps, Lars Hohmuth Wolfram Research Terry Harter wrote: > > David Djajaputra wrote; > ========================= > Could anyone tell me how to make Mathematica plot the following function > smoothly? > > Wbar[q_,w_]:=w/(4 Sin[q/2]); > > Chi[q_,w_]:= > EllipticF[Pi/2 - ArcSin[Wbar[q,w]], 1/(1-Wbar[q,w]^2)] / > Sqrt[1-Wbar[q,w]^2]; > > ChiPlot[q_,w_]:= > If[(w>2 Sin[q])&&(w < 4 Sin[q/2]), Chi[q,w]/(2 Pi Sin[q/2]),0]; > > Plot[{ChiPlot[0.025,w]},{w,0.04999,0.050},PlotPoints->200, > PlotRange->{19.998,20.003}] > > If I run the last Plot command, Mathematica always complains about > ChiPlot[w] not being a machine-size real number at some points, and then > it only plots several disconnected lines. I realize the function is > rather `dangerous' but analytically I expect it to behave normally > inside the region that I use above, except perhaps at the > boundaries. Anyway, if Mathematica can get the separate lines, why can't > it obtain > the values for points between the lines also? > > Much thanks in advance, > > David Djajaputra > ===================== > Whenever I get such messages from the kernal, *I* always > check for unbalanced square braketws, paranthesis, list brackets, etc. > Examinbe your definition of Chi[ ] -- I think it needs a "]" at the > end of its definition. > Hope this helps > ....Terry