2011-09-30 89 views
7

編輯:使用Mathematica無法解決雙體問題?

@auxsvr是正確的,我有力方程錯誤,關於 -3/2指數。

另一種將它看成簡單的2維並考慮 從原點起作用的力,與1/r^2成比例,就像引力一樣, 其中r是距離原點的距離。

在(x,y)處,力的作用方向(-x,-y)。然而,這只是方向,而不是規模。如果我們用k作爲 比例常數,那麼這個力就是(-kx,-ky)。因此力的大小爲Sqrt [( - kx)^ 2 +( - ky)^ 2],或者k * Sqrt [x^2 + y^2]或k * Sqrt [r^2] 2]或k * r

由於力的大小也是1/r^2,這給了我們k = 1/r^3。

該力因此是(-x/r^3,-y/r^3)。由於我最初使用r^2作爲我的主要數量,那就是(r^2)^( - 3/2),這是3/2來自哪裏。

這實際上使我的問題無效,但它仍然使 有趣的理論討論。

我重試了這個Mathematica與正確的方程,但仍然得到了 沒有答案。正如其他指出的那樣,結果只是在某些條件下(在其他情況下可能是拋物線或雙曲線)的 的橢圓。另外,儘管最終軌道是一個圓錐曲線段,但初始軌道可能會螺旋進出,直到達到最終的圓錐曲線軌道 。

編輯在這裏結束

我使用Mathematica來解決二體問題:

DSolve[{ 
    d2[t] == (x1[t]-x0[t])^2 + (y1[t]-y0[t])^2 + (z1[t]-z0[t])^2, 
    D[x0[t], t,t] == (x1[t]-x0[t])/d2[t], 
    D[y0[t], t,t] == (y1[t]-y0[t])/d2[t], 
    D[z0[t], t,t] == (z1[t]-z0[t])/d2[t], 
    D[x1[t], t,t] == -(x1[t]-x0[t])/d2[t], 
    D[y1[t], t,t] == -(y1[t]-y0[t])/d2[t], 
    D[z1[t], t,t] == -(z1[t]-z0[t])/d2[t] 
    }, 
    {x0,y0,z0,x1,y1,x1,d2}, 
    t 
] 

但我得到的結果:

有較少的因變量的方程相比,所以系統超定。

我計算了7個方程和7個因變量?

事實上,該系統是半不確定的,因爲我沒有在時間0

我知道我自己的方程可能是錯誤的,二體問題提供位置和速度,但我仍然想知道爲什麼Mathematica抱怨這一點。

+7

您將x1列爲變量兩次,並且z1根本沒有列出,因此爲消息。但是修復這些不足以讓DSolve得到結果,它只會刪除錯誤消息。 –

+0

謝謝!在這兩種情況下你都是對的。 Mathematica可以解決雙體問題嗎? – barrycarter

+0

在笛卡爾座標? –

回答

18

NDSolve怎麼樣?

d2[t_] = (-x0[t] + x1[t])^2 + (-y0[t] + y1[t])^2 + (-z0[t] + 
    z1[t])^2; sol = {x0, y0, z0, x1, y1, z1} /. 
    NDSolve[{x0''[t] == (-x0[t] + x1[t])/d2[t], 
    y0''[t] == (-y0[t] + y1[t])/d2[t], 
    z0''[t] == (-z0[t] + z1[t])/d2[t], x1''[t] == -x0''[t], 
    y1''[t] == -y0''[t], z1''[t] == -z0''[t], x0[0] == 0, y0[0] == 0, 
     z0[0] == 0, x1[0] == 1, y1[0] == 0, z1[0] == 0, x0'[0] == -0.5, 
    y0'[0] == 1, z0'[0] == 0.5, x1'[0] == 0.5, y1'[0] == -1, 
    z1'[0] == -0.5}, {x0, y0, z0, x1, y1, z1}, {t, 0, 120}][[1]] 

r = 3; 
Animate[ 
    Graphics3D[ 
    { 
    PointSize -> 0.05, 
    Point[{sol[[1]][t], sol[[2]][t], sol[[3]][t]}], 
    Point[{sol[[4]][t], sol[[5]][t], sol[[6]][t]}], 
    Red, 
    Line[Table[{sol[[1]][t1], sol[[2]][t1], sol[[3]][t1]}, {t1, 0, t, 0.1}]], 
    Green, 
    Line[Table[{sol[[4]][t1], sol[[5]][t1], sol[[6]][t1]}, {t1, 0, t, 0.1}]] 
    }, 
    PlotRange -> {{-r, r}, {-r, r}, {-r, r}} 
    ], {t, 0, 120}, AnimationRate -> 4 
] 

enter image description here

+0

在這種情況下,您可以使用PlotRange-> r獲得相同效果... –

+9

沒有暗物質,沒有諾貝爾獎 –

6

我驚訝,沒有人注意到,每個人都寫了運動不當,從情節是明顯的公式,因爲在這兩個機構的引力勢界軌道一直處於關閉狀態(伯特蘭定理)。運動的正確方程是

{x0''[t] == (-x0[t] + x1[t])/d2[t]^(3/2), 
y0''[t] == (-y0[t] + y1[t])/d2[t]^(3/2), 
x1''[t] == -x0''[t], 
y1''[t] == -y0''[t]} 

d2[t_]:= (x1[t]-x0[t])^2 + (y1[t]-y0[t])^2 

由於運動是平面的中央力場。此外,必須適當設定初始條件,否則質心移動,軌道不再是圓錐形部分。