Keplerproblem

Status
Nicht offen für weitere Antworten.
P

Physicx

Gast
Hi!

Ich versuche gerade ein Programm zu schreiben, dass eine Einfach Planetenbahn im Gravitaionsfeld eines Stern berechnen soll. Ich habe versucht folgende Formeln zu verwenden:

//m = Masse Planet


r = sqrt(x² + y²)

aX /*Beschleunigung x Richtung*/ = - GRAVITATIONSKONST * x * m / r³
vX = vX + aX * dt
x = x + vX * dt

selbiges für y und dies als schleife.

Nun hab ich jedoch festgestellt, dass ich hier mit java Probleme bekomme, da die Werte den "Rahmen" von double und long sprengen. Nun ja ich hab versucht mir ne eigene Zahlenklasse zu schreiben in der ich das Exponetialsystem nachahme, bisher funktioniert das ganze aber noch nich wie es soll.

Jetzt hab ich mir überlegt, dass ich das ganze vermutlich viel zu kompliziert angehe mit einer Klasse für Exponetialschreibweise, eine Klasse für Rechnungen damit etc. und wollt mal fragen ob ihr da nicht ne andere Idee habt wie man da rangehen könnte. Weil eigentlich sind Planetenbahnen ja nichts so extravagantes.

lg
Physicx


PS.: Ich hoffe das Forum ist richtig, war mir nicht sicher obs zur Mathematik soll, da es ja physikalischen Inhalt hat oder hierein, da das Problem ja eigentlich momentan in Java bzw meinen Kenntnissen davon liegt...
 
G

Gast

Gast
Tausender krieg ich nicht genug raus glaub ich.

Ich hab jetzt mal BigDecimal versucht.

Allerdings kommt in der Zeile wo durch r³ geteilt der Fehler:
Exception in thread "main" java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.

Das bedeutet dann wohl dass es mit BigDecimal nicht geht?
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben