MathematicaのNDSolve[]を使用して、結合されたODEを使用して球に沿った測地線を計算しようとしています。
x" - (x" . x) x = 0
問題は、x(0)とx'(0)の初期条件しか入力できず、ソルバーはx "= 0の解に満足していることです。問題は、球上の測地線の初期条件がxであるということです。 "(0)= -x(0)、これは数学にどのように伝えるかわかりません。これを条件として追加すると、条件のリストに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)
。
ありがとう