[Date Index]
[Thread Index]
[Author Index]
RE: problems with ContourPlot
*To*: mathgroup at smc.vnet.net
*Subject*: [mg33630] RE: [mg33616] problems with ContourPlot
*From*: "Curt Fischer" <cfisher at bio.titech.ac.jp>
*Date*: Thu, 4 Apr 2002 19:39:46 -0500 (EST)
*Sender*: owner-wri-mathgroup at wolfram.com
-----Original Message-----
From: Harald von der Osten-Woldenburg [mailto:hvdosten at lb.netic.de]
To: mathgroup at smc.vnet.net
Subject: [mg33630] [mg33616] problems with ContourPlot
Hi out there,
if I try this:
a := 0.5; b := 0.5; c := 0.5; y := 0.0;
ContourPlot[(x*(x - a) + y*y + z*z)/ (Sqrt[(x*x + y*y + z*z) ** 3]*
Sqrt[((x - a) ** 2 + y*y + z*z) ** 3]) - ((x - a)*(x - a - b
-c) +
y*y + z*z)/ (Sqrt[((x - a) ** 2 + y*y + z*z) ** 3]*
Sqrt[((x - a - b - c) ** 2 + y*y + z*z) ** 3]) - (x*(x - a -b)
+
y*y + z*z)/ (Sqrt[(x*x + y*y + z*z) ** 3]*
Sqrt[((x - a - b) ** 2 + y*y + z*z) **
3]) + ((x - a - b)*(x - a - b - c) + y*y +
z*z)/(Sqrt[((x - a - b) ** 2 + y*y + z*z) ** 3]*
Sqrt[((x - a - b - c) ** 2 + y*y + z*z) ** 3]), {x, -1, 1},
{z, 0, 1}, Contours -> {0, 1, 5, 10, 50, 100}, ContourShading -> False]
I receive the error-messages:
[ ...Expression... ] is not a machine-size real number at {x, z} =
{-1.,0.}
ContourGraphics::"ctpnt": "The contour is attempting to traverse a cell
in which some of the points have not evaluated to numbers, and it will
be dropped."
General::"stop": "Further output of (ContourGraphics :: "ctpnt") will be
suppressed during this calculation."
Because I compiled this also with Fortran I know that there are also
results in the range up to 10^6. Is this too much for ContourPlot? Or
did I some crazy things.... ?? At (-1,0.) I cannot find any
singularity...
Thank you very much for any small hint.
Harry
------------
Dear Harry,
Your problem is that Mathematica uses the ** operator for noncommutative
multiplication. Thus Mathematica cannot numerically evaluate your
formulae. If you meant ** to represent exponentiation, the character ^
is used instead. The following code had no errors and output a graph on
my machine:
ClearAll[a,b,c,y];
a := 0.5; b := 0.5; c := 0.5; y := 0.0;
ContourPlot[(x*(x - a) + y*y + z*z)/ (Sqrt[(x*x + y*y + z*z)^3]*
Sqrt[((x - a) ^2 + y*y + z*z)^3]) - ((x - a)*(x - a - b-c) +
y*y + z*z)/ (Sqrt[((x - a)^2 + y*y + z*z)^3]*
Sqrt[((x - a - b - c)^2 + y*y + z*z)^3]) - (x*(x - a -b)+
y*y + z*z)/ (Sqrt[(x*x + y*y + z*z)^3]*
Sqrt[((x - a - b)^2 + y*y + z*z)^3]) + ((x - a - b)*
(x - a - b - c) + y*y +z*z)/
(Sqrt[((x - a - b)^2 + y*y + z*z)^3]*
Sqrt[((x - a - b - c) ^ 2 + y*y + z*z)^3]),
{x, -1, 1}, {z, 0, 1},
Contours -> {0, 1, 5, 10, 50, 100}, ContourShading -> False]
Also, unless you are doing it for a specific reason, it is generally
better to assign simple constants using the "immediate assignment"
operator = rather than := which is the delayed evaluation assignment
operator. For your example here, though, it didn't matter one way or
the other.
Curt Fischer
Tokyo Institute of Technology
Dept. of Bioengineering
Prev by Date:
**Re: problems with ContourPlot**
Next by Date:
**Re: problems with ContourPlot**
Previous by thread:
**Re: problems with ContourPlot**
Next by thread:
**Re: problems with ContourPlot**
| |