Re: Plot resolution
- To: mathgroup at smc.vnet.net
- Subject: [mg65084] Re: [mg65064] Plot resolution
- From: "David Park" <djmp at earthlink.net>
- Date: Tue, 14 Mar 2006 06:00:02 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
You can obtain Ted Ersek's PrecisionPlot routine from the Wolfram MathSource. This routine is also included in the DrawGraphics package. ro = 10^3; pressure = p[r] /. DSolve[{D[p[r], r] == 1/(r^2*(1 + r)^3) - Log[1 + r]/ (r^3*(1 + r)^2), p[ro] == 10^(-7)}, p[r], r][[1]] PrecisionPlot[pressure, {r, ro, 10^4}, PlotRange -> All, Frame -> True, Axes -> False, ImageSize -> 450]; gives a smooth monotonic plot. For those who have DrawGraphics, the following gives a custom plot with antialiasing used to give a smooth curve and simplifying tick labeling on the y axis. Needs["DrawGraphics`DrawingMaster`"] yticksleft = CustomTicks[10^(-7) + #1/10^13 & , {-20, 0, 5, 5}]; yticksright = CustomTicks[10^(-7) + #1/10^13 & , {-20, 0, 5, 5}, CTNumberFunction -> ("" & )]; DoAntiAliasing[Draw2D[{AntiAliasing[{Black, Linen}, 15, 0.008][ FineGrainLines[10^(-14), 4, Abs[#2 - #1][[2]] & ][ PrecisionDraw[pressure, {r, ro, 10^4}]]], Text["Pressure = "N[10^(-7) + \[CapitalDelta]/10^13], {4357.83, 9.99998/10^8}, {-1, 0}]}, Frame -> True, FrameTicks -> {Automatic, yticksleft, Automatic, yticksright}, FrameLabel -> {r, \[CapitalDelta]}, PlotRange -> All, PlotLabel -> "Pressure vs. r", Background -> Linen, ImageSize -> 500]]; David Park djmp at earthlink.net http://home.earthlink.net/~djmp/ From: Laurentiu Caramete [mailto:laurentiu.caramete at googlemail.com] To: mathgroup at smc.vnet.net Hi, I got a problem with a plot of a function. The function 'pressure' should decrease monotonically with r. The Plot function is giving a non-monotonic plot at big r, this is a problem with the resolution of the plot or with the function? How can I check that? \!\(Clear[r]\[IndentingNewLine] \(ro = 10\^3;\)\[IndentingNewLine] \(pressure = p[r] /. \(DSolve[{D[p[r], r] == 1\/\(\(r\^2\) \((1 + r)\)\^3\) - Log[1 + r]\/\(\(r\^3\) \((1 + r)\)\^2\), p[ro] == 10\^\(-7\)}, p[r], r]\)[\([1]\)];\)\[IndentingNewLine]\[IndentingNewLine] Plot[pressure, {r, ro, 10\^4}, PlotRange -> All]\) Thanks