Re: LogLogPlot encounters Infinite expression
- To: mathgroup at smc.vnet.net
- Subject: [mg126163] Re: LogLogPlot encounters Infinite expression
- From: "djmpark" <djmpark at comcast.net>
- Date: Sun, 22 Apr 2012 06:06:00 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <581857.12253.1334983314299.JavaMail.root@m06>
This looks like a bug in the internal initial processing for LogLogPlot,
possibly in trying to determine the y axis Range - although I don't know why
it would do that first.
If one does the following, the routine never samples outside of the
specified domain.
f[x_] := Piecewise[{{0.001, x < 10}}, Exp[x/20]]
Reap[LogLogPlot[1/f[x], {x, 11, 20},
EvaluationMonitor :> Sow[x]]]
If we change back to zero, it bombs before sowing any x values.
The simplest solution is to modify the plot function for the purpose of this
particular plot.
LogLogPlot[1/Exp[x/20], {x, 11, 20}]
With the Presentations Application you could specify the ticks and roll your
own LogLog curve with some extra work but without having to modify the f
function.
<< Presentations`
xticks = CustomTicks[Log, {1, 2, {12, 14, 16, 18, 20}/10, {}}];
yticks = CustomTicks[Log, {-1, 0, Range[3.5, 6, 0.5], {}}];
Draw2D[
{Draw[Log[1/f[E^logx]], {logx, Log[11], Log[20]}]},
AspectRatio -> 0.6,
Axes -> True,
Ticks -> {xticks, yticks}]
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/index.html
From: John_V [mailto:jvillar.john at gmail.com]
If I try this:
f[x_] = Piecewise[{{0, x < 10}}, Exp[x/20]] LogLogPlot[1/f[x], {x, 11, 20}]
the result is an error message (Infinite expression 1/0 encountered) and a
plot that has axes but no graph.
Notice that although 1/f is indeed 1/0 for x<10, the requested plot range
does not include x<10. The function is well-defined within the requested
plot range. Does anyone know what's going on with this?
John