Mathematica, Plot Implicit function contain Sum (sigma)

Click For Summary

Discussion Overview

The discussion revolves around the challenges faced by a participant in plotting an implicit function using Mathematica, particularly involving a complex equation that includes summation and various defined functions. The scope includes technical troubleshooting and code refinement within the context of computational mathematics.

Discussion Character

  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant expresses frustration over their inability to plot an implicit function in Mathematica and shares their equation and code.
  • Another participant points out a potential error in the code related to the capitalization of built-in function names, suggesting that 'Sqrt' should be used instead of 'sqrt'.
  • A third participant identifies additional errors in the code and notes that changing the plot range does not yield expected results, indicating further issues with the code's functionality.
  • A later reply suggests a methodical approach to debugging the code by simplifying it and gradually reintroducing elements to identify the source of the problems.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the specific errors present in the code, and multiple competing views on how to resolve the issues are expressed. The discussion remains unresolved regarding the exact nature of the problems and the best approach to fix them.

Contextual Notes

Limitations include potential missing assumptions in the original code, the dependence on specific definitions of functions, and unresolved mathematical steps that may affect the plotting outcome.

8s0nc1
Messages
1
Reaction score
0
Dear friends,
Over the past week, I tried to plot implicit function by mathematica but failed. I am very disappointed. Hopefully someone help me at this time.
My equation is given by (see below figure):
getImageAttachment?filename=My_equation.gif

Where
z0 := 6
d := 12
k := 11800
w0 := 0.025
w[z_] := sqrt[w0^2*(1 + (z/z0)^2)]
deltaphi0[z_] := 0.6/(1 + (z^2/z0^2))
R[z_] := z*(1 + (z0/z)^2)
wm0[z_] := sqrt[w^2/(2*m + 1)]
dm[z_] := (k/2)*((wm0)^2)
g[z_] := 1 + (d/R)
wm[z_] := wm0*sqrt[[g^2 + (d)^2/dm^2]]
Rm[z_] := d*(1 - g/(g^2 + (d/dm)^2))^(-1)
thetam[z_] := ArcTan[d/(dm*g)]
I want to plot a graph to represent the dependence of r (z). I have tried the following code-mathematica file
getImageAttachment?filename=Trial_code.gif

But mathamatica plot 2 coordinate axes without data (no points).
getImageAttachment?filename=Output.gif

Please help me!
This is the mathematica file
https://docs.google.com/a/hcmus.edu.vn/file/d/0B6ue0CPI1AOFcWpjd19zMEU0a2s/edit
and my function
https://docs.google.com/a/hcmus.edu.vn/file/d/0B6ue0CPI1AOFTXMxRFZDaXd6NjQ/edit
Thanks very much.
 
Physics news on Phys.org
Quick look suggest you got that little s in there: First rule of Mathematica: all built-in functions names start with capital letters like Sqrt
 
I don't know how many more errors remain, but this fixes the first couple of waves and does plot something.

In[1]:= z0 = 6;
d = 12;
k = 11800;
w0 = 0.025;
w[z_] := Sqrt[w0^2*(1 + (z/z0)^2)];
deltaphi0[z_] := 0.6/(1 + (z/z0)^2);
R[z_] := z*(1 + (z0/z)^2);
wm0[z_] := Sqrt[w[z]^2/(2*m + 1)];
dm[z_] := k/2*wm0[z]^2;
g[z_] := 1 + d/R[z];
wm[z_] := wm0[z]*Sqrt[g[z]^2 + (d/dm[z])^2];
Rm[z_] := d/(1 - g[z]/(g[z]^2 + (d/dm[z])^2));
thetam[z_] := ArcTan[d/(dm[z]*g[z])];
ContourPlot[ Abs[ Sum[ (I*deltaphi0[z])^m/m!*wm0[z]/wm[z]* Exp[-r^2/wm[z]^2 - I*k*r^2/2*Rm[z] + I*thetam[z]], {m, 0, 1}]]^2 - 0.153*Abs[ Sum[ (I*deltaphi0[z])^m/m!*wm0[z]/wm[z]*Exp[I*thetam[z]], {m, 0, 1}]]^2 == 0, {r, -100, 100}, {z, -100, 100}]

Out[14]= ...PlotSnipped...

There are fairly clearly other things wrong. For example, when I change your plot range {r, -100, 100} to {r, -5, 5} to try to zoom in on the horizontal axis, instead of getting a substantially wider and more detailed version of your plot I get a narrower and narrower plot. So I think at least a couple of other things are seriously broken in the code.
 
Last edited:
Bill Simpson said:
So I think at least a couple of other things are seriously broken in the code.

Great. That's a good start.

Now, to the poster:

How do we proceed from here? Well, I can tell you how to fix it without even looking at it: Start cutting things out, make it simpler while trying to keep the qualitative content of the code you're trying to run. Keep doing that even if you have to mercilessly hack it to death until it only vaguely resembles the original code. Get that simplified version running. Then piece by piece and not 2 or three at time, add one thing to the code, get it running, add another, get it running, then another until you build it back up to what you're trying to do.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 19 ·
Replies
19
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K