我正在尝试使用 Mathematica 的 NDSolve[] 使用耦合 ODE 计算沿球体的测地线:
x" - (x" . x) x = 0
问题是我只能输入 x(0) 和 x'(0) 的初始条件,求解器对 x" = 0 的解感到满意。问题是我在球体上的测地线具有 x “(0)= -x(0),我不知道如何告诉mathematica。如果我将此添加为条件,则表示我将 True 添加到条件列表中。
这是我的代码:
s1 = NDSolve[{x1''[t] - (x1[t] * x1''[t] + x2[t] * x2''[t] + x3[t]*x3''[t]) * x1[t] == 0, x2''[t] - (x1[t] * x1''[t] + x2[t] * x2''[t] + x3[t]*x3''[t]) * x2[t] == 0, x3''[t] - (x1[t] * x1''[t] + x2[t] * x2''[t] + x3[t]*x3''[t]) * x3[t] == 0, x1[0] == 1, x2[0] == 0, x3[0] == 0, x1'[0] == 0, x2'[0] == 0, x3'[0] == 1} , { x1, x2, x3}, {t, -1, 1}][[1]]
我想修改它,使初始加速度不为零,而是-x(0)
.
谢谢