Mathematica Mathematica NDSolve conditions help

Click For Summary
The discussion revolves around an issue with using NDSolve in Mathematica, where the initial conditions are incorrectly interpreted as "True" or "False." The user provided code that defines equations and initial conditions for a system but encountered an error indicating that the expected equations were not provided. The problem was resolved by restarting Mathematica, which cleared any previous variable settings that may have interfered with the initial conditions. This suggests that prior definitions of x'[0] and y'[0] could have caused the issue. The user plans to experiment further to determine if saving work and restarting would yield similar results. The resolution highlights the importance of managing variable states in Mathematica to avoid such errors.
Hertz
Messages
180
Reaction score
8
Hi, I'm having a problem with NDSolve in mathematica where it is interpreting my initial conditions as "True" or "False".

Here is the code:
Code:
soln = NDSolve[{eqn1[[1]], eqn1[[2]], x[0] == y[0] == 0, x'[0] == 1, 
    y'[0] == 0}, {x, y}, t];

where eqn1 is determined by the following code:
Code:
Clear[soln, eqn1, xeqn, yeqn, eqn, sink, source, field,  k, m, a,  f, F, U]
a = 1;
sink = {0, 
    a} - (1/(x^2 + (y - a)^2))*(x^2 + (y - a)^2)^(-1/2)*{x, y - a};
source = {0, -a} + (1/(x^2 + (y + a)^2))*(x^2 + (y + a)^2)^(-1/2)*{x, 
     y + a};
field = sink + source;
F = m*k*field;
U[x_, y_] = Integrate[F[[1]], x] + Integrate[F[[2]], y];
T = (m/2) (x'[t]^2 + y'[t]^2);
L = T - U[x[t], y[t]];
xeqn = D[L, x[t]] == D[D[L, x'[t]], t];
yeqn = D[L, y[t]] == D[D[L, y'[t]], t];
eqn = {xeqn, yeqn};
eqn1 = eqn /. {k -> 1, m -> 1}

Here is the error:
Code:
NDSolve::deqn: Equation or list of equations expected instead of False in the first argument
{eqn1[[1]], eqn1[[2]], x[0] == y[0] == 0, False, False}

It looks to me like I must be typing my velocity initial conditions in wrong or something, but every example I can find online does it this same way. I've also tried typing it in other ways like using the D function etc, but I keep having the same issue. :\
 
Physics news on Phys.org
Interesting. I don't get an error using Mathematica 9.0. Try quitting your kernel and re-running it.
 
Wow, I was almost certain that wasn't going to work. I've been dealing with the problem for a long time now, just never bothered to ask. Turns out, restarting mathematica fixed it though. I just did a restart and copy/pasted what was here.

Is there anything to take from this? Any ideas why that might have happened? I wonder if saving my work and restarting mathematica would have also worked. Guess I'll have to experiment more later on.
 
It looks like somehow y'[0] and x'[0] were previously set to some specific value, and it was causing problems.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
885
Replies
8
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K