- #1
Hertz
- 180
- 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:
where eqn1 is determined by the following code:
Here is the error:
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. :\
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. :\