Re: Unexpected "Invalid comparison" error when plotting function defined with a Condition pattern
- To: mathgroup at smc.vnet.net
- Subject: [mg69266] Re: Unexpected "Invalid comparison" error when plotting function defined with a Condition pattern
- From: "Andrew Moylan" <andrew.j.moylan at gmail.com>
- Date: Mon, 4 Sep 2006 04:47:06 -0400 (EDT)
- References: <ed93pr$t4f$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi David, thanks for your reply. For now I'm using a workaround like one of yours below. David Park wrote: > Andrew, > > I do not know precisely why you obtain those error messages. It seems to be > a combination of selecting values in Plot, the use of Abs and the form of > the definition of g. But I think there are ways around it. > > The following give error messages. > > g[x_ /; 0 < x] = x; > Plot[Abs[g[10^y]], {y, 1, 2}]; > > Clear[g] > g[x_ ] = If[x > 0, x, 0]; > Plot[Abs[g[10^y]], {y, 1, 2}]; > > Clear[g] > g[x_] := Piecewise[{{0, x <= 0}, {x, x > 0} }] > Plot[Abs[g[10^y]], {y, 1, 2}]; > > The following do not give error messages. > > Clear[g] > g[x_ /; 0 < x] = x; > Plot[Sqrt[g[10^y]^2], {y, 1, 2}]; > > Clear[g] > g[x_ /; 0 < x] = x; > Plot[Abs[g[10^y]] // ComplexExpand // Evaluate, {y, 1, 2}]; > > Clear[g] > g[x_ /; 0 < x] = x; > data = Table[{y, Abs[g[10^y]]}, {y, 1, 2, 0.025}]; > ListPlot[data, PlotJoined -> True]; > > Clear[g] > g[x_?Positive] = x; > Plot[Abs[g[10^y]], {y, 1, 2}]; > > Clear[g] > g[x_] := Piecewise[{{0, x <= 0}, {x, x > 0} }] > Plot[Abs[g[10^y]] // ComplexExpand // Evaluate, {y, 1, 2}]; > > So try using ComplexExpand on your more complicated expression. > > David Park > djmp at earthlink.net > http://home.earthlink.net/~djmp/ > > > > From: Andrew Moylan [mailto:andrew.j.moylan at gmail.com] To: mathgroup at smc.vnet.net > > Hi, > > Please consider the following simple function, defined for positive x > using a Condition pattern: > > g[x_ /; 0 < x] = x; > > When I try to plot this function in the following way: > > Plot[Abs[g[10^y]], {y, 1, 2}]; > > I unexpectedly receive some "Less::nord : Invalid comparison with 10. + > 0. I attempted" errors. Can anyone explain why this is, and how I > should best prevent it? > > Relevant note: > Both of the following different plots of g succeed with no errors: > Plot[Abs[g[y]], {y, 1, 2}]; > Plot[g[10^y], {y, 1, 2}]; > > Irrelevant note: > In my actual application, the function g is more complicated and is > complex-valued (hence my use of Abs); but the error is reproducable > with the very simple real-valued function g as defined above. > > Thanks for any insight you might be able to give me on this. > > Cheers, > > Andrew
- Follow-Ups:
- Re: Re: Unexpected "Invalid comparison" error when plotting function defined with a Condition pattern
- From: "Chris Chiasson" <chris@chiasson.name>
- Re: Re: Unexpected "Invalid comparison" error when plotting function defined with a Condition pattern