Mathematica Troubleshooting Mathematica: Identifying Strange Behavior & Solutions

AI Thread Summary
The discussion revolves around a user experiencing issues with Mathematica, where a previously functioning code now returns an error indicating that 'z' is not recognized as an equation. The user shared their code, which involves defining gravitational parameters and solving differential equations using NDSolve. A key point raised is the potential conflict arising from reusing variable names, specifically 'x' and 'y', which were initially defined as constants but later used as functions in NDSolve. This confusion may lead to evaluation errors. Another user suggested renaming the variables to avoid this issue. Ultimately, the original poster resolved the problem by copying the code into a new notebook, indicating that the issue was related to Mathematica's handling of the previous notebook rather than the code itself.
Dustinsfl
Messages
2,217
Reaction score
5
Can someone identity what the issue here is before I throw my computer out the window.
By the way, this just worked 10mins ago. I restarted Mathematica and my computer but it now insist z isn't an equation.
Code:
ClearAll["Global`*"];
me = 5.974*10^(24);
mm = 7.348*10^(22);
G = 6.67259*10^(-20);
\[Mu] = G*(me + mm);
re = 6378;
rm = 1737;
\[Pi]1 = me/(me + mm);
\[Pi]2 = mm/(me + mm);
x = -4671;
y = -6578;
r12 = r1 = r2 = 384400;
(*r1=Sqrt[(x+\[Pi]2*r12)^2+y^2];
r2=Sqrt[(x-\[Pi]1*r12)^2+y^2];*)
M = me + mm; vi = 8;
\[Nu] = -\[Pi]/2;
e = 1;
vi = 10.8662;

\[Gamma] = ArcTan[e*Sin[\[Nu]]/(1 + e*Cos[\[Nu]])];
vx = vi*(Sin[\[Gamma]]*Cos[\[Nu]] - Cos[\[Gamma]]*Sin[\[Nu]]);
vy = vi*(Sin[\[Gamma]]*Sin[\[Nu]] + Cos[\[Gamma]]*Cos[\[Nu]]);
rx = -4671;
ry = -6578;
rz = 0;

\[CapitalOmega] = Sqrt[\[Mu]/r12^3];
\[Mu]1 = G*me;
\[Mu]2 = G*mm;

r0 = {rx, ry, rz};
v0 = {vx, vy, rz};

s = NDSolve[{x''[t] - 
      2*\[CapitalOmega]*y'[t] - \[CapitalOmega]^2*
       x[t] == -\[Mu]1/r1^3*(x[t] + \[Pi]2*r12) - \[Mu]2/
        r2^3*(x[t] - \[Pi]1*r12),
    y''[t] - 
      2*\[CapitalOmega]*x'[t] - \[CapitalOmega]^2*
       y[t] == -\[Mu]1/r1^3*y[t] - \[Mu]2/r2^3*y[t], 
    z''[t] == -\[Mu]1/r1^3*z[t] - \[Mu]2/r2^3*z[t],
    x[0] == r0[[1]],
    y[0] == r0[[2]],
    z[0] == r0[[3]],
    x'[0] == v0[[1]],
    y'[0] == v0[[2]],
    z'[0] == v0[[3]]},
   {x, y, z}, {t, 0, 1000000}];

NDSolve::deqn: Equation or list of equations expected instead of False in the first argument {0. -7.10426\[CenterDot]10^-12 (-4671)[t]==-8.63204\[CenterDot]10^-14 (-379729.+(-4671)[t])-7.01794\[CenterDot]10^-12 (4670.66 +(-4671)[t]),0. -7.10426\[CenterDot]10^-12 (-6578)[t]==-7.10426\[CenterDot]10^-12 (-6578)[t],<<5>>,False,(z^\[Prime])[0]==0}. >>
 
Physics news on Phys.org
dwsmith said:
...before I throw my computer out the window...

Sorry, can't help with the Mathematica issue, but just wanted to say I have considered throwing my computer in my pond before.(Tmi)
 
You define

x = -4671;
y = -6578;

and then you use both x = x[t] and y = y[t] in NDSolve. That might be tripping you up. Try renaming variables. What might especially confirm this is that the double equals, which is definitely what you need in NDSolve, will yield TRUE or FALSE if the stuff on either side is already defined.

When something works, and then it doesn't work, in Mathematica, that's typically happening because of the order in which cells are evaluated. If these commands are spread out over a bunch of different cells, then the order really matters.
 
Ackbach said:
You define

x = -4671;
y = -6578;

and then you use both x = x[t] and y = y[t] in NDSolve. That might be tripping you up. Try renaming variables. What might especially confirm this is that the double equals, which is definitely what you need in NDSolve, will yield TRUE or FALSE if the stuff on either side is already defined.

When something works, and then it doesn't work, in Mathematica, that's typically happening because of the order in which cells are evaluated. If these commands are spread out over a bunch of different cells, then the order really matters.

The only problem was mathematica. I copied everything over to a new notebook and it worked.
 
dwsmith said:
The only problem was mathematica. I copied everything over to a new notebook and it worked.

Yep, that's a good trick, too. Glad it's working for you now.
 

Similar threads

Replies
1
Views
2K
Replies
1
Views
2K
Replies
1
Views
2K
Replies
6
Views
7K
Replies
1
Views
2K
Replies
9
Views
3K
Replies
2
Views
1K
Replies
2
Views
3K
Back
Top