[Date Index]
[Thread Index]
[Author Index]
Re: Bug in Plot3D?
*To*: mathgroup at smc.vnet.net
*Subject*: [mg105225] Re: Bug in Plot3D?
*From*: Bill Rowe <readnews at sbcglobal.net>
*Date*: Wed, 25 Nov 2009 02:30:33 -0500 (EST)
On 11/24/09 at 5:51 AM, wellsoberlin at gmail.com (SixWingedSeraph) wrote:
>The two plot commands in the notebook below should give identical
>outputs, but they don't. The notebook is posted at
>http://abstractmath.org/MM/MmaBugQ.nb
>a := 9; b := 18;
There is no reason I can see to use SetDelayed here.
>ff[x_, y_, z_] := x + y + z
>gg[x_, y_, z_] := 2*x - 2*y - z
>f[x_, y_] := z /. Solve[ff[x, y, z] == a, z]
Given you are plotting this function, you definitely should be
using Set ("=") instead of SetDelayed (":="). By using
SetDelayed you are telling Mathematica to solve for z every time
Plot supplies a new set of x, y points. This causes Mathematica
to do more work than necessary to create the plot.
>f[x, y]
>g[x_, y_] := z /. Solve[gg[x, y, z] == b, z]
>g[x, y]
>Plot3D[{-x - y + 9, 2*(x - y - 9)}, {x, 6, 10}, {y, -5, 1}...
>Plot3D[{f[x, y], g[x, y]}, {x, 6, 10}, {y, -5, 1}...
You are not plotting the same thing in both cases. That is:
In[14]:= {f[x, y], g[x, y]}
Out[14]= {{-x - y + 9}, {2 (x - y - 9)}}
which is not the same as
{-x - y + 9, 2 (x - y - 9)}
You can make things the same by redefining ff and gg to take the
first solution returned by Solve or by taking the first solution
when plotting
Prev by Date:
**Re: how to read in a number in hex and convert it to binary**
Next by Date:
**Re: simple question**
Previous by thread:
**Re: Bug in Plot3D?**
Next by thread:
**Mathematica and LabelME**
| |