Mathematica通过求解ODE的错误

时间:2013-08-30 14:27:56

标签: wolfram-mathematica

我知道这个Mathematica的代码有什么问题。有没有人可以给我一个关于这个bug的解释,还能告诉我如何改进代码?

V[x_, y_, z_] := x^2 + y - z;

m = 10;

DSolve[m*x''[t] == -Grad[V[x, y, z], {x, y, z}]*x[t], x[t], t]

势场中粒子的模型。在这个模型中,我们将粒子视为质量点,它描述了空间中的轨迹,该轨迹由函数建模,该函数将其在空间中的坐标作为时间的函数。势场由函数V:R ^ 3→R给出,轨迹是微分方程的解

enter image description here

注意这个模型假设粒子是一个点质量,在我们使用这个模型的许多情况下,这肯定是假的。例如,作为行星运动的模型。

实际等式:

enter image description here

1 个答案:

答案 0 :(得分:4)

首先:不要相信Wikipedia。它对一些基本知识有好处,但对于某些特定的东西更好地使用某些特定领域的来源。

正确的等式是:

enter image description here

正确的代码:

V[x_, y_, z_] := x^2 + y - z;
m = 10;
DSolve[m*{x''[t], y''[t], z''[t]} ==
    -(Grad[V[x, y, z], {x, y, z}] /. {x -> x[t], y -> y[t], z -> z[t]})
    , {x[t], y[t], z[t]}, t]

解决方案:

{{x[t] -> C[1] Cos[t/Sqrt[5]] + C[2] Sin[t/Sqrt[5]], 
  y[t] -> -(t^2/20) + C[3] + t C[4],
  z[t] -> t^2/20 + C[5] + t C[6]}}