2011-09-30 14 views
7

EDYTOWANIE:Nie można DSolve problem dwóch ciała za pomocą Mathematica?

@auxsvr jest poprawne, że miałem nieprawidłowe równania siły, a także o wykładniku -3/2.

Innym sposobem, aby zobaczyć to po prostu do 2 wymiarów i wziąć pod uwagę siłę działającą od początku, proporcjonalnie do 1/r^2 podobnie jak grawitacja, gdzie r jest odległością od punktu początkowego.

W (x, y) siła działa w kierunku (-x, -y). Jednak jest to tylko kierunek, a nie wielkość. Jeśli użyjemy k jako stałej proporcjonalności, siła wynosi (-kx, -ky).

Wielkość siły wynosi zatem Sqrt [(- kx)^2 + (- ky)^2] lub k * Sqrt [x^2 + y^2] lub k * Sqrt [r^2] lub k * r

Ponieważ wielkość siły wynosi również 1/r^2, daje nam to k = 1/r^3.

Siła jest zatem (-x/r^3, -y/r^3).

Ponieważ początkowo używałem r^2 jako mojej podstawowej ilości, to (r^2)^(- 3/2), z której pochodzi 3/2.

To skutecznie unieważnia moje pytanie, chociaż nadal sprawia, że ​​interesująca dyskusja teoretyczna jest ważna od .

Powtórzyłem tę Mathematica z poprawnymi równaniami, ale wciąż nie otrzymałem odpowiedzi. Jak zaznacza inne, wynik jest tylko elipsą pod pewnymi warunkami (może to być parabola lub hiperbola w innych przypadkach). Dodatkowo, chociaż ostateczna orbita jest częścią stożkową, to początkowa orbita może się wysuwać lub wysuwać aż do osiągnięcia końcowej orbity stożkowej .

EDIT kończy się tutaj

Używam Mathematica rozwiązać problem dwa ciała:

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 
] 

Ale wrócę:

Jest mniej zmienne zależne niż równań więc system jest nadokreślony.

Liczę 7 równań i 7 zmiennych zależnych?

W rzeczywistości, system jest pół-nieokreślony, ponieważ nie zapewniają pozycji i prędkości w czasie 0.

mi realizować moje same równania może być niewłaściwe dla problemu dwa ciała, ale ja nadal lubię wiedzieć, dlaczego Mathematica narzeka na to.

+7

Masz x1 wymieniony jako zmienną dwa razy, a Z1 wcale nie, stąd komunikat. Ale naprawienie tego nie wystarczy, aby DSolve dał wynik, usunie tylko komunikat o błędzie. –

+0

Dzięki! Masz rację w obu przypadkach. Czy Mathematica może rozwiązać problem dwóch ciał? – barrycarter

+0

W cartesian coords? –

Odpowiedz

18

Co powiecie na 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

Możesz użyć PlotRange-> r dla tego samego efektu w tym przypadku ... –

+9

Bez ciemnej materii, bez nagrody Nobla –

6

jestem zaskoczony nikt inny nie zauważył, że każdy pisze równania ruchu nieprawidłowo który wynika z wykresu, ponieważ Ograniczone orbity w grawitacyjnym potencjałem dwóch ciał są zawsze zamknięte (Twierdzenie Bertranda). Prawidłowe równania ruchu są

{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]} 

z

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

ponieważ ruch jest płaska dla pól centralnych sił. Należy również odpowiednio ustawić warunki początkowe, w przeciwnym razie środek masy porusza się, a orbity nie są już sekcjami stożkowymi.

Powiązane problemy