2

我会知道这个 Mathematica 的代码有什么问题。有没有人可以给我一个错误的解释,也可以告诉我如何改进代码?

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 给出,轨迹是微分方程的解

在此处输入图像描述

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

实际方程:

在此处输入图像描述

4

1 回答 1

4

第一:不要相信维基百科。它对一些基础知识很有用,但对于特定的东西,最好使用一些特定领域的资源。

正确的方程式是:

在此处输入图像描述

和正确的代码:

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]}}
于 2013-08-30T16:44:53.400 回答