Keplerelemente der großen Planeten

Status
Es sind keine weiteren Antworten möglich.

Ehemaliges Mitglied 77903

Hallo Sternfreunde,

die Verwendung von Kepler-Elementen der großen Planeten zur Positionsberechnung ist Geschichte der Astronomie: mittlere Anomalie, exzentrische Anomalie, wahre Anomalie, "Argument der Breite", heliozentrische ekliptikale Länge und Breite usw. - damit kann heute niemand mehr etwas anfangen. Für mich hatten die Keplerelemente den Vorteil, dass der numerische Aufwand überschaubar und händisch bewältigbar ist. Ich programmierte eine entsprechende Routine um 2015 in einen höherwertigen Taschenrechner (HP49G).

Ich verwendete damals ein pdf, das ich vor 2012 im Internet gefunden hatte. Das Papier wurde mittlerweile leicht umgearbeitet und ist jetzt unter Approximate Positions of the Planets erreichbar. Das Herzstück des Papiers (die Elemente und ihre Veränderungsraten) blieb unverändert. Ich wandelte das Verfahren ab und verwendete die wahre Anomalie nach dem Rezept von Oliver Montenbruck: Grundlagen der Ephemeridenrechnung, Taschenbuch Nr. 10, Verlag Sterne und Weltraum, Dr. Vehrenberg GmbH, 1984, 5. Aufl. München 1992. Das letztgenannte Buch wurde von Springer zu einem ziemlich selbstbewussten Preis neu aufgelegt Grundlagen der Ephemeridenrechnung. Die Verlagswerbung spricht ausdrücklich die ebenfalls an Planetenorten interessierte Horoskopdeuterszene an. Davon lasse man sich nicht irremachen, denn das Buch setzt Kenntnisse der Konventionen der wissenschaftlichen Positionsastronomie voraus, über die die meisten Horoskopdeuter sicher nicht verfügen, und ist auch mathematisch nichts für Anfänger. Schließlich gebe ich noch einen Scan aus dem Klassiker von Jean Meeus (Astronomical Algorithms, Willmann Bell, Richmond, VA, 1991, S. 197 & 198), wo die Konventionen graphisch erklärt werden und auf die traditionelle Terminologie und deren irreführende, verwechslungsträchtige Symbolik eingegangen wird. Das muss man sich alles zuerst sehr genau ansehen!
kepler_meeus.jpg
Wer heute noch Interesse hat, Ephemeriden ohne Netzzugang aus eigenen Kräften und mit einfacheren Rechenhilfen zu erzeugen, kann sich damit befassen und wird auch tiefer in die Problematik der eingangs erwähnten historischen Begriffe eindringen einschließlich der unvermeidbaren iterativen Lösung der Kepler-Gleichung. Die Keplerelemente werden bis heute verwendet bei künstlichen Himmelskörpern und Kleinplaneten. Zu dieser Anwendung gibt es wiki-Einträge. Dort treten allerdings andere Probleme auf als bei den großen Planeten und lösen zusätzliche mathematische Verwicklungen aus.

Ich verglich meine Keplerroutine mit präzisen Ephemeriden aus dem Netz und fand Abweichungen immer unter einer Zeitminute und immer unter 10 Bogenminuten. Damit sind zwischen 1800 und 2050 Phänomene der täglichen Bewegung mit Kepler genauso minutengenau bestimmbar wie mit präziseren Ephemeriden.

Bis demnächst, R.M.
 
Hallo,

interessantes Thema! Hier meine Lösung der Kepler-Gleichung. Ich habe sie Anfang der 1980er Jahre auf einem C64 programmiert, benutze die Funktion aber noch heute in meinen Programmen (Visual Basic 6):
kepler.jpg


Wenn die Exzentrizität kleiner ist als 0.95, sind nur wenige Iterationsschritte nötig, hier als Grafik über einer (M,e)-Ebene gerechnet:
kepler_2.jpg


Einfacher als Lösung zur Kepler-Gleichung wäre E (i+1) = M + e * sin( E (i) ) mit M als Startwert für E(0)

Da ist ein Blick der nötigen Iterationen sehr interessant, hier wieder als Grafik über einer (M,e)-Ebene gerechnet:
kepler_1.jpg
:)
(M: Mittlere Anomalie, e bzw ex: Exzentrizität, E bzw ea: Exzentrische Anomalie)
 
Hallo zusammen,

Code:
M = E - e·sin(E)

Jaja, das kann immer noch ein recht spannendes Thema sein. Wer sich für die Lösung des Keplerproblems interessiert, sollte sich das Buch von Peter Colwell "Solving Kepler's Equation" (ja, die Amis schreiben den Apostroph so...) zu Gemüte führen . Da geht's so richtig weird ab über die Herangehensweisen der letzten 3 Jahrhunderte. Gibt auch Kapitel über parabolische (e=1) und hyperbolische Fälle (e>1).

Eine kleine Seite hab ich zum Keplerproblem gebaut schon mal hier gepostet, glaub ich. Diese beschäftigt sich mit den benötigten Iterationen, deren kritische Bereiche, und betrachtet verschiedene Möglichkeiten.

Keplers Gleichung


cs,
harald

--
 
Hallo,

ich möchte dazu noch bemerken, dass man mit den Kepler Elementen sehr wohl genaue Planetenörter berechnen kann – so man die aktuellen Elemente verwendet. Um diese zu erhalten, ist aber so einiges an Rechnerei notwendig. Ich habe da einmal die Planetentheorie VSOP2013 in C# implementiert, sind einige hunderttausend Terme … Falls wer Interesse hat :sneaky:

Was ich auch noch erwähnen möchte ist die explizite Abhängigkeit der exzentrischen Anomalie von der mittleren Anomalie, die sich mithilfe der n-ten Besselfunktion Jn darstellen lässt.

M .. mittlere Anomalie
ex .. num. Exzentrizität

E .. exzentrische Anomalie



E = M + 2* Summe [n=1 .. inf] (Jn(n*ex)/n * sin(n*M) )

Hier eine Implementation in C#

1688059007494.png


Bei sehr hohen Exzentrizität ist es in der Nähe der Perihels (Kometen) sinnvoll die Bahn als Parabel zu rechnen. Damit lässt sich die wahre Anomalie direkt mit der Barker’schen Gleichung bestimmen.



CS
Wolfgang
 
Hallo Sternfreunde,

hier meine Lösung der Keplergleichung für Ellipsen bis e<= 0,9
in GFA Basic geschrieben ( aber sicher für alle Programmierer nachvollziehbar :unsure:)
(mit dem GoTo Sprung nicht elegant aber es funktioniert)

> PROCEDURE ellips (mo,ep,mu,aa,ex, VAR r,f1,f2 )

LOCAL m1,e1,e2
# mo Wert der mittleren Anomalie zur Epoche ep
# ep Epoche (im Julianischen Datum)
# mu mittlere tägliche Bewegung in °/Tag
# aa große Halbache in AE
# ex numerische Exzentrizität

#Falls mu nicht vorhanden -> kann sie berechnet werden aus aa
IF mu=0 AND aa>0 THEN
mu=0.985607669/(aa^1.5)
ENDIF

# Differenz td Tage [zwischen Epoche- und Berechnungs zeitpunkt]
td=jd-ep

# m1 ist die mittlere Anomalie zum Berechnungszeitpunkt [in Grad]
m1=(mo+mu*td)
IF m1<0 THEN
m1=m1+360*(1+INT(ABS(m1)/360))
ENDIF
m1=m1-360*INT(m1/360)

# Anfangswert der exentrischen Anomalie e1 [in Rad]
e1=m1*PI/180
# Wert m1 in Rad wandeln
m1=m1*PI/180

#Lösung der transzendenten Gleichung
#itterative Lösung (Newton Ableitung)

sprungmarke:
e2=e1+(m1+ex*SIN(e1)-e1)/(1-ex*COS(e1))
IF ABS(e2-e1)>0.00001 THEN
e1=e2
GOTO sprungmarke
ENDIF


# Rückgabewerte sind
f1=aa*(COS(e2)-ex)
f2=aa*SQR(1-ex*ex)*SIN(e2)
r=aa*(1-ex*COS(e2))

RETURN
-----------------------------------


Eine Lösung für parabelnahe Bahnen ist die von
Werner Landgraf in Sky&Teleskop im May 1987 erschienen.


funktioniert für parabelnahe Bahnen bei Exzentrizitätswerte von 0,9 bis 1,1 sehr gut und schnell.:)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
VG +CS
Dieter
 
Hallo Sternfreunde,

die zahlreichen ausgefeilten Programmier-Vorschläge zur Lösung der Keplergleichung gehen am Problem der Erzeugung ANGENÄHERTER, aber für viele Anwendungen ausreichender Orte der GROSSEN PLANETEN, etwas vorbei. Die Bahn-Exzentrizitäten aller großen Planeten sind so gering, dass nach der 10. Iteration Ergebnis-Veränderungen höchstens die 4. Stelle hinter dem Komma betreffen, also zehntausendstel Bogengrad.... Mathematisch minderwertige Rechenhilfen wie die handelsüblichen Tabellenkalkulationsprogramme der Office-Suiten bieten keine Möglichkeit, Rechenvorgänge zu wiederholen, bis eine Bedingung erfüllt ist, so wie es in allen obigen Programmiervorschlägen vorkommt. Ich entschied mich für die Hau-Ruck-Methode, IMMER zwanzigmal zu iterieren: Die letzten 5 oder 10 Schritte kann man dann nur mehr unterscheiden, wenn man sich viele, viele Stellen hinter dem Komma ansieht, und ich rechne weiter mit dem Ergebnis des 20. Schrittes. Der Speicherplatz, den man damit verplempert, fällt bei diesen Programmen nicht ins Gewicht.

Ich weise noch einmal auf den eigentlichen Vorteil der Keplermethode hin: Man muss eben NICHT wie in allen modernen, präzisen Theorien, hunderte oder tausende Terme verarbeiten. Mangels einschlägiger Vorbildung kann ich nur die mathematischen Stichworte nachplappern: "numerische Integration" und "Potenzreihenentwicklung" führen zu diesen vielen Termen, die mit händischen Methoden nicht mehr handhabbar sind. Wenn man sich der eingeschränkten Anwendungsmöglichkeiten bewusst ist, weicht man mit den Keplerelementen dieser Termenflut aus und erhält Ergebnisse, die für viele amateurische Anwendungen (allen voran die von mir hochgeschätzten graphischen) völlig ausreichen.

Für mich war das viel größere Problem, dass ich an bestimmten Stellen mit einem Kochrezept nicht mehr weiterkam und andere Vorschriften anpassen musste. Z.B. ist der Weg über die wahre Anomalie bei Standish (Approximate Positions of the Planets) nicht vorgesehen - es kann auch sein, dass ich seine Symbolik nicht verstand. An dieser Stelle zog ich Anweisungen aus dem alten Montenbruck her, teilweise auch aus Meeus. Mein Verfahren ist also selbst zusammengebastelt und ich fasste zu ihm erst Zutrauen, als es tatsächlich Ergebnisse lieferte, die ganz gut zu präzisen "Viel-Term"-Theorien passten.

Der Weg zu Orten der GROSSEN PLANETEN über die Exzentrizität und die diversen Anomalien ist veraltet und wird transparent und am Stück nicht mehr gelehrt. Anders ist das, wie gesagt, bei Kleinplaneten, Kometen, künstlichen Himmelskörpern. Dort gibt es aktuelle Vorschriften, die aber für die GROSSEN PLANETEN nur bedingt passen, weil man den dortigen Exzentrizitäten nahe 1 mit eigenen mathematischen Verfahren zu Leibe rückt, die man bei den GROSSEN PLANETEN nicht braucht....

Bis demnächst, R.M.
 
Hallo Sternfreunde,

ich ergänze, dass ich mir einmal den Spaß machte und die Bahn-Exzentrizität der großen Planeten auf dem Papier nachzeichnete. Das Ergebnis war erstaunlich: Zunächst einmal zeichne man mit einem Zirkel einen ganz normalen Kreis. Die Abweichung der elliptischen Planetenbahn von diesem Kreis ist auf einem DIN-A4-Blatt graphisch nicht darstellbar - so genau kann niemand zeichnen. Das einzige, was von der Ellipse bleibt, ist, dass man den Ort der Sonne im Zentrum bei einem Kreisradius von 5cm um einige Millimeter hin- und herschieben muss. Mehr gibt das nicht her!

Bis demnächst, R.M.
 
...wenn man Wert auf höhe Genauigkeit bei Ephemeriden über den Weg der Kepler-Ellipsen legt, kann man die Bahnelemente von Merkur bis Mars sehr schön durch zeitabhängige Glieder darstellen. Für die Gasplaneten kann man dann oskulierende Bahnelemente verwenden, in denen die Störungen praktisch enthalten und zum jeweiligen Zeitpunkt sehr genau sind. Oliver Montenbruck gibt z.B. in seinen Grundlagen der Ephemeridenrechnung solche oskulierenden Elemente im Abstand von 200 Tagen an.

Für meine kleinen Grafiken verwende ich auch den Weg über die Kepler-Ellipsen. Hier reichen wirklich einfache Näherungslösungen aus. Die Helligkeit der Kleinplaneten kann von anderen Quellen abweichen, je nach verwendetem mathematischen Ansatz.

helligkeiten_2023.png durchmesser_2023.png einfache Grafiken zu scheinbaren Helligkeiten und Durchmessern :)

e2=e1+(m1+ex*SIN(e1)-e1)/(1-ex*COS(e1))
IF ABS(e2-e1)>0.00001 THEN
e1=e2
GOTO sprungmarke
ENDIF
Das Newton-Verfahren zur Kepler-Gleichung mit sehr gutem Konvergenzverhalten nach nur wenigen Iterationen :y:!
 
Hallo Sternfreund hcgreier,

ich kenne diese Funktion und verwendete sie bis 2019. Sie funktioniert aber nicht richtig. Mir fielen gleich zu Beginn um 2012 unplausible Ergebnisse auf. Wenn ich das Programm mit den gleichen Eingangsparametern neu startete, zappelten mehrere Male die Ergebnisse hinter dem Komma. Das Programm startet neu, wenn ich z.B. ein Zeitargument identisch neu eingebe. Dann sollte sich ja nichts mehr verändern, tat es aber doch. Ich glaube, dass das schlecht programmiert ist. 2019 setzte ich meine Kepler-Routinen ganz neu auf und iterierte immer 20mal - mit dem, was ich weiter oben Hau-Ruck-Verfahren nannte. Seitdem ist Ruhe. Gebe ich den Tag "23" neu ein, bleibt alles ruhig, nichts ändert sich.

Bis demnächst, R.M.
 
Hallo R.M.,

wenn's "nicht geht", warum machst du das dann so? Warum mit "ungenügender Software"? Geht es vielleicht mit einem VBA Script?

Das Argument ist wie jenes beim Golfen: "...einen viel zu kleinen Ball in ein viel zu kleines Loch mit vollkommen ungeeignetem Gerät spielen". Kann man machen, manchen macht das sogar Spaß!

Nimm halt die Mittelpunktsgleichung. Das kann Excel sicher. Die Exzentrizitäten der Planeten sind klein genug, um da nicht allzu große Abweichungen zu erhalten.

cs,
harald

--
 
Hallo Sternfreund hcgreier,

wenn's "nicht geht", warum machst du das dann so? Warum mit "ungenügender Software"?
Es geht freilich, z.B. auf meinem programmierbaren Taschenrechner HP49G. Der macht das ohne Probleme, weil er viel "mathematischer" ist und vernünftige logische Verzweigungen anbietet: IF....THEN....ELSE....END oder DO...UNTIL...END". Damit kann ich die Keplergleichung kunstgerecht bearbeiten. Aber in EXCEL und Konsorten gibt es so etwas allenfalls rudimentär. Zudem kommen diese bei der Keplergleichung sehr schnell daher und beschweren sich über eine "zirkuläre Referenz".... EXCEL und Konsorten laufen andererseits auf einem PC und greifen damit auf unendlich viel mehr Speicherplatz als der Taschenrechner zurück. Will ich Serien mit dem Taschenrechner machen (bei mir sehr häufig: 50mal alle 12 Tage ab irgendwann ....) dann muss ich 50mal ein Datum eingeben und den Taschenrechner starten, was fehlerträchtig und zeitraubend ist. So etwas kann ich vernünftigerweise nur im PC machen, wo ich jeder Berechnung eine Zeile zuweise, die pro Planet bis zu 120 Felder lang sein kann (darunter 20 Iterationsschritte der Keplergleichung), und dann nach unten das Eingangsdatum inkrementiere. So komme ich zu meinen Serien.

Dafür fehler mir die Kochrezepte. Meeus macht das nur für die Sonne bei geringen Präzisionsanforderungen. Für die Planeten fand ich so etwas noch nicht.

Bis demnächst, R.M.
 
Hallo,

Aber in EXCEL und Konsorten gibt es so etwas allenfalls rudimentär. Zudem kommen diese bei der Keplergleichung sehr schnell daher und beschweren sich über eine "zirkuläre Referenz"....

Nur so als Tipp: alles was etwas komplexer ist, als einfaches plus/minus, würde ich in Excel als Makro in VBA programmieren. Dann fallen die ganzen Zirkelbezüge weg, der Speicher ist wirklich gegen unendlich gehend und gescheite Strukturen wie Schleifen und Verzweigungen hat's auch.

Gruß
Thomas
 
Dafür fehler mir die Kochrezepte. Meeus macht das nur für die Sonne bei geringen Präzisionsanforderungen. Für die Planeten fand ich so etwas noch nicht.
Das stimmt doch nicht!
Im Kapitel 33 auf Seite 237 (2. Auflage) gibt Meeus die Mittelpunktsgleichung bis zur 5. Potenz an.

Hier eine Darstellung nach W.M. Smart bis zur 3. Potenz:

mittelpunktsgleichung_02.png

M... mittlere Anomalie
e... Exzentrizität der Bahn

Das kann auch Excel oder dein Taschenrechner.

In meinem Posting #3 habe ich auf meine Seite verwiesen, wo das auch so steht.
Kepler Gleichung


cs,
harald

--
 

Anhänge

  • mittelpunktsgleichung_01.png
    mittelpunktsgleichung_01.png
    55,9 KB · Aufrufe: 135
Zuletzt bearbeitet:
Hallo Sternfreunde,

ich brüte seit mindestens 2010 über dieser Problematik und es kann schon sein, dass ich manches, was bei Meeus steht, nicht zusammenführte, weil ich es nicht verstand. Mir war damals nicht klar, dass man aus Bahnelementen zu einer Länge kommen und dann die Mittelpunktsgleichung anwenden kann. Dieser ganze Schmonz mit den oskulierenden Elementen ist bei Meeus sprachlich so umständlich formuliert, dass ich damit nichts anfangen konnte. Als Beispiel bringt er mal Kleinplaneten, mal Kometen, dann wieder Venus (ohne zu sagen, woher er ihre Länge nimmt....). Kurzum: Diese ganzen Kapitel um Nr. 33 herum Elements of Planetary Orbits, Positions of the Planets, Elliptic Motion, Parabolic Motion sind in Ihrer Gedankenführung so ein Durcheinander, dass ich damit nichts anfangen konnte - zumindest damals nicht.

Meeus stellt in Kap. 30 die Elements of Planetary Orbits vor, erklärt nirgendwo aber für mich verständlich, was ich jetzt mit diesen Elementen machen soll. Das sind wohl "oskulierende" Elemente - oder? Im nächsten Kapitel 31 Positions of the Planets verschwinden die Elemente wieder in der Schublade und es geht mit der "Viel-Term"-Theorie VSOP weiter, weil die genauer ist. Das war mir damals, ist mir bis heute zu verschnörkelt und ich werde das jetzt sicher nicht mehr aufdröseln und mit VBA und Makros fange ich mir auch nichts mehr an. Da sitze ich wieder wochenlang und grüble in meinen PC hinein, weil irgendwo ein Begriff seit dem letzten update anders heißt oder doch jeder weiß, dass ACE eigentlich ZXW bedeutet. Nein danke - davon habe ich jetzt genug! Mein Kepler-Programm läuft, außerdem habe ich mittlerweile Alcyone, die das genauso gut macht. Vergesst nicht, dass ich bis 2016 kein nennenswertes Internet hatte und Alcyone erst mit diesem kam. Hätte ich das 2008 gehabt, hätte ich mich wahrscheinlich nie um Kepler-Elemente gekümmert.

Bis demnächst. R.M.
 
Hallo R.M.,

vielleicht ist das Ganze doch nicht so kompliziert…

Also für allgemeine Mehrkörpersysteme gibt es keine geschlossenen Theorien (also Formeln mit denen man die Positionen direkt berechnen kann), also muss man sich mit Näherungen zufrieden geben. Das ist bewiesen und daran ist nicht zu rütteln :unsure: .
So kann man sich entweder von einem bekannten Anfangszustand schrittweise vorwärtstasten (quasi die Bewegung simulieren), das ist die numerische Integration.

Oder man summiert eine Unmenge von Termen um aktuelle Kepler-Bahnelemente zu erhalten. Das sind die oskulierenden Elemente. Die VSOP Theorien sind eine Möglichkeit sie zu berechnen.

So kannst du mit VSOP87 die aktuelle Kepler Elemente berechnen, oder dir auch gleich die kartesischen Koordinaten ausgeben lassen. Dann braucht’s auch keinen Kepler mehr.

Die VSOP87 Terme kann du dir hier auch in VB generieren lassen:


Sicher, für den HP49G wird das zuviel des Guten sein…

CS
Wolfgang
 
Zuletzt bearbeitet:
ich brüte seit mindestens 2010 über dieser Problematik und es kann schon sein, dass ich manches, was bei Meeus steht, nicht zusammenführte, weil ich es nicht verstand. Mir war damals nicht klar, dass man aus Bahnelementen zu einer Länge kommen und dann die Mittelpunktsgleichung anwenden kann. Dieser ganze Schmonz mit den oskulierenden Elementen ist bei Meeus sprachlich so umständlich formuliert, dass ich damit nichts anfangen konnte. Als Beispiel bringt er mal Kleinplaneten, mal Kometen, dann wieder Venus (ohne zu sagen, woher er ihre Länge nimmt....). Kurzum: Diese ganzen Kapitel um Nr. 33 herum Elements of Planetary Orbits, Positions of the Planets, Elliptic Motion, Parabolic Motion sind in Ihrer Gedankenführung so ein Durcheinander, dass ich damit nichts anfangen konnte - zumindest damals nicht.
Wenn du aus dem Meeus nicht schlau wirst, dann nimm halt ein anderes Werk. Natürlich kann man auch ein Astronomieprogramm seiner Wahl nehmen und dann muss sich um gar nix mehr kümmern. Wie dann die Werte zustande kommen ist wie aus der berühmten Black Box, aber hey, ist ja egal. Hauptsache sie stimmen.

Wer sich allerdings ein bisschen dafür interessiert, wie diese Werte berechnet werden, der muss sich nun mal mit ein paar Basics auseinandersetzen, geht nicht anders. Es gibt hier im Forum Leute, denen sind Skizzen oder Grafiken zu bestimmten Sub-Themen schon zu mühsam. "....dort noch ne Grafik und drüben noch ne Erklärung....., ist mir alles zu komplex". Tja, Freund der Sonne, so ist das aber nun mal. Egal ob mit Meeus oder nicht.

cs,
harald

--
 
...die Kepler-Gleichung ist jetzt wirklich keine Hexerei. Ich hab mit dem Taschenrechner mal das Newton-Verfahren für M=40° und e=0.4 berechnet. Bereits nach vier Iterationen hat man das Ergebnis für E:

1. Iteration: 61.23988531° (mit Startwert E0=M)
2. Iteration: 59.81737892°
3. Iteration: 59.80966371°
4. Iteration: 59.80966349°

Die Lösungsmethode E (i+1) = M + e * sin( E(i) ) erscheint einfacher, konvergiert aber viel schlechter! Da braucht man für die gleiche Genauigkeit 14 Iterationen, hier auch wieder mit dem Taschenrechner für M=40° und e=0.4, im Gradmaß:

54.73160686° 59.80958926°
58.71179863° 59.80964855°
59.58520532° 59.80966048°
59.76436191° 59.80966288°
59.80054490° 59.80966336°
59.80782903° 59.80966346°
59.80929448° 59.80966349°
 
Hi Volker,

Nein, sicher ist die Iteration kein Problem, aber das will ja Kollege R.M. nicht, weil er nicht programmieren will bzw. nicht die nötige Software (dazu) hat, laut eigenen Aussagen.

Ok, für deine M = 40° und vor allem e = 0.4 geht der Umweg über die Mittelpunktsgleichung (MPGL) für Kollegen R.M. nicht mehr, da ist dann e zu groß...

Mit Gliedern bis e^3 liefert die MPGL
C = 43.59930734° und damit ist

nu = M + C = 83.59930734°

E = 2*arctan[ tan(nu/2) / sqrt( (1+e) / (1-e) ) ] = 60.68265382°

Das ist dann eine Abweichung von
60.68265382° - 59.80966349° = 0.873°
im Vergleich zur Kepler-Iteration. Klar ist das zu viel...

Immerhin, nimmt man in der MPGL Glieder bis zur 5. Potenz, ergibt sich
C = 42.92445182°
nu = M + C = 82.92445182°
E = 60.09186460°
Differenz: 60.09186460° - 59.80966349° = 0.2822°

Allerdings haben ja die großen Planeten ein e von maximal 0.206... (Merkur*) und damit ist
die Näherung schon viel besser:

M = 40°, e = 0.205635 (für Merkur) liefert mit Kepler-Iteration
E = 48.87513511°

und über die MPGL erhält man (Terme bis e^5)

C = 18.48807783°
nu = 58.48807783°
E = 48.88072436°

Jetzt ist die Differenz nur mehr im Bereich von
48.87513511° - 48.88072436° = -0.00558925° = -20.12"

Für Terme bis e^3 ist die Differenz -110.58" = -1.843'

cs,
harald

* Ja ich weiß, Pluto hat e ≈ 0.2488, aber der ist kein großer Planet mehr.

--
 
Zuletzt bearbeitet:
Hi Harald,

ich hab das mit e=0.4 nicht ganz unabsichtlich gemacht. Ich wollte ja dorthin, wo es mit der Mittelpunktsgleichung (rein mathematisch) etwas unangenehm wird. Deshalb verwende ich in meinem "Baukastensystem" von Funktionen und Subroutinen beim Programmieren nur das Newton-Verfahren aus Post#2. Es ist unproblematisch, sicher und kann in jeder Programmiersprache leicht formuliert werden.

Ja ich weiß, Pluto hat e ≈ 0.2488, aber der ist kein großer Planet mehr.
Ich konnte Pluto 1989 in Erdnähe (bei 13.6 mag) einmal visuell sehen. Er war ein ganz schwaches, völlig unspektakuläres Pünktchen, aber deutlich sichtbar (wir hatten genaue Karten dabei). Es war trotzdem eine meiner interessantesten Beobachtungen, deshalb ist Pluto für mich immer noch Planet Nr. 9... :)

Liebe Grüße nach Graz, Volker.
 
ich hab das mit e=0.4 nicht ganz unabsichtlich gemacht. Ich wollte ja dorthin, wo es mit der Mittelpunktsgleichung (rein mathematisch) etwas unangenehm wird. Deshalb verwende ich in meinem "Baukastensystem" von Funktionen und Subroutinen beim Programmieren nur das Newton-Verfahren aus Post#2. Es ist unproblematisch, sicher und kann in jeder Programmiersprache leicht formuliert werden.
Ja das war mir klar. Ich verwende in den meisten Scripten die 2.Variante, also die mit Newton-Raphson
Code:
while (Math.abs(corr) > 1e-6) {
  E0 = E1;
  corr = (M + e * DEGS * sin(E0) - E0) / (1 - e * cos(E0));
  E1 = E0 + corr;
}

Ich konnte Pluto 1989 in Erdnähe (bei 13.6 mag) einmal visuell sehen. Er war ein ganz schwaches, völlig unspektakuläres Pünktchen, aber deutlich sichtbar (wir hatten genaue Karten dabei). Es war trotzdem eine meiner interessantesten Beobachtungen, deshalb ist Pluto für mich immer noch Planet Nr. 9...
Ja eh, ich mach das kleine [zensiert]rchen auch! Gesehen im Teleskop habe ich den aber noch nie, wüsste auch nicht wer hier in der Nähe so ne Schüssel hat...und in der Stadt schon mal gar nicht.

cs,
harald

--
 
Zum Paper von Standish aus dem Eingangsposting mal ein Beispiel.

Code:
------------------------------------------------
Beispiel nach dem Paper von E.M. Standish
"Approximate Positions of the Planets"
------------------------------------------------

Es ist klar, dass im Folgenden die Anzahl der Kommastellen absurd ist, habe sie aber aus Faulheit nicht gerundet.

Bsp.: Mars am 15.7.2023 um 00:00 TD


Wir haben
Y = 2023
M = 7
D = 15.0

Hilfwerte
A = int(Y/100) = 20
B = 2 - A + int(A/4) =
  = 2 - 20 + int(20/4) = 2 - 20 + 5 = -13
 
JDE = int(365.25*(Y + 4716)) + int(30.6001*(M + 1)) + D + B - 1524.5 =
    = int(365.25*(2023 + 4716)) + int(30.6001*(7 + 1)) + 15 - 13 - 1524.5 =
    = int(2461419.75) + int(244.8008) - 1526.5 =
    = 2461419 + 244 - 1522.5 = 2460140.5

Damit folgen die julianischen Jahrhunderte mit

T = (JDE - 2451545.0)/36525 =
  = (2460140.5 - 2451545.0)/36525
  = 0.23533196440793977

Tabelle:
Elemente bzgl. J2000 für Mars, valide für 1800-2050

    a                e               I               L              ω_quer            Ω
1.52371034      0.09339410      1.84969142       -4.55343205    -23.94362959     49.55953891
0.00001847      0.00007882     -0.00813131    19140.30268499      0.44441088     -0.29257343

Damit haben wir

PUNKT 1)
a = 1.52371034 + 0.00001847*T = 1.5237146865813826
e = 0.09339410 + 0.00007882*T = 0.09341264886543463
I = 1.84969142 - 0.00813131*T = 1.84777786284449
L = -4.55343205+19140.30268499*T = 4499.771598171261 = 179.77159817126085
ω_quer = -23.94362959 + 0.44441088*T = -23.839045504605338
Ω = 49.55953891-0.29257343*T = 49.490687029984535


PUNKT 2)
Argument des Perihels:
ω = ω_quer - Ω = -23.839045504609 - 49.490687029987 = -73.32973253458988

Mittlere Anomalie: Für die inneren Planeten haben wir keine Korrekturwerte b, c, s und f!
M = L - ω_quer = 179.77159817126085 - (-23.839045504605338) = 203.6106436758664

PUNKT 3)

Nun folgt bei Standish die Iteration der Kepler-Gleichung
Eine solche liefert für die exzentrische Anomalie E

E = 201.63715872692245

Hier schauen wir nun, welchen Wert man erhält, wenn man E über die Mittelpunktsgleichung berechnet.
Weil e relativ klein ist begnügen wir uns mit Termen bis e³. C ist in Radiant(!) gegeben:

C = (2*e - e³/4)*sin(M) + 1.25*e²*sin(2*M) + (13*e³/12)*sin(3*M) =
   = -0.06757375302503577 rad = -3.871690854193929°

Damit ist die wahre Anomalie
nu = M + C = 203.61064352391 + (-3.871690830328728) = 199.73895282167268

Jetzt folgt E aus der Umformung der Barkerschen Gleichung
E = 2*arctan(tan(nu/2) / Math.sqrt((1+e)/(1-e))) = -158.36615631843776 = 201.63384368156224

Die Differenz zur iterativen Lösung beträgt
201.63715858710637 - 201.633843541737 = 0.0033150453602104335 = 11.934"

Soweit OK.


PUNKT 4)
Da man nun E hat rechnet man weiter mit Punkt 4 in dem Paper

x' = a*(cos(E) - e) = -1.5587167402541442
y' = a*sqrt(1 - e*e)*sin(E) = -0.5592972403619703

PUNKT 5)

Mit diesen Werten x', y' berechnet Standish nun für J2000 die ekliptikalen, rektangularen Koordinaten xecl, yecl, zecl.

xecl = (cos(ω)*cos(Ω) - sin(ω)*sin(Ω)*cos(I))*xp + (-sin(ω)*cos(Ω) - cos(ω)*sin(Ω)*cos(I))*yp;
yecl = (cos(ω)*sin(Ω) + sin(ω)*cos(Ω)*cos(I))*xp + (-sin(ω)*sin(Ω) + cos(ω)*cos(Ω)*cos(I))*yp;
zecl = (sin(ω)*sin(I))*xp + (cos(ω)*sin(I))*yp;

Das Ergebnis ist
xecl-> -1.6512575196449277
yecl-> 0.1179539047409971
zecl-> 0.04297394091136852

PUNKT 6)

Wenn man das möchte: Umrechnung der ekliptikalen Koordinaten in äquatoriale Koordinaten:
ε = 23.49328  (für J2000)

xequ = xecl = -1.6512575196449277;
yequ = cos(ε)*yecl - sin(ε)*zecl = 0.09112655650088923
zequ = sin(ε)*yecl - cos(ε)*zecl = 0.007491524534634503

Mit den bekannten Transformationsformeln kartesisch -> sphärisch kann man dann Länge, Breite und Radiusvektor berechnen, usw.
Natürlich sind das alles grobe Näherungen und die Daten beziehen sich auf Epoche J2000. Aber immerhin wurde gezeigt, dass es auch ohne Iteration der Keplergleichung funktioniert.

cs,
harald

--
 
...sehr schön.

Für das julianische Datum hatte ich mit logischen Operatoren mal einen Einzeiler gebastelt (gültig von 1.3.1900 - 28.2.2100). Man muss nur schauen, ob true=-1 ist oder +1, das kann je nach Sprache unterschiedlich sein (hier: true=-1, false=0):

juldat.jpg
 
Hi Volker,

gehörst du etwa auch zu der Sparte der Einzeiler-Fetischisten? Ich will ja niemanden zu nahe treten, aber ich bin da kein Freund davon. Auf StackOverflow gibt es ja immer wieder so lustige Gesellen, die alles und jedes in Einzeiler stecken müssen, Hauptsache es kann keine ? lesen! Das wird da richtig zum Sport, vor allem wieder herauszufinden, was der Code eigentlich macht, wenn man nach 3 Jahren wieder mal draufschaut ?. Aber es sieht nett aus! Und für den erwähnten Zeitraum funktioniert es auch.
In JS ist true = 1 und false = 0, soviel ich weiß.

cs,
harald

--
 
gehörst du etwa auch zu der Sparte der Einzeiler-Fetischisten?
...nee, nicht wirklich. Bei kleinen Programmen (wie z.B. die Planetenhelligkeiten oben) kann man den Code noch etwas kommentieren. Für sehr komplexe Programme wie z.B. eine komplette Planetariumsoftware geht das aber nicht mehr. Da muss man modular arbeiten mit kleinen Funktionen und Subroutinen, sonst geht das nicht. Die Module bilden dann wieder eine eigene, kleine Sprache. Die Lösung der Keplergleichung ist da nur ein Wort mit den Übergabeparametern, also kepler(m,e). Ich habe viele Einzeiler z.B. für das Ausgabeformat von Zahlen, was wichtig ist, damit es bei der Ausgabe von Tabellen nicht unschön "flattert". Die Funktion mid$(str$(100.05+x),3,4) ergibt z.B. eine zweistellige Zahl (eigentlich einen String) mit automatischer Rundung nach der ersten Nachkommastelle. Wichtig ist, dass solche Funktionen immer funktionieren und vollkommen sicher sind, deswegen auch immer der Aufbau mit bewährten, selbstgebackenen Funktionsbibliotheken. Sonst kann man in komplexen Programmen nicht debuggen.

Natürlich merkt man meinem Programmierstil an, dass er aus einer alten Zeit stammt, in der Speicherplatz sehr knapp und die Geschwindigkeit der CPUs sehr langsam waren. GOTO oder IF sind zeitgemäß verpönt, war halt so und hat ja auch seinen Grund. Früher gab es in den Computerzeitschriften auch einen "Einzeiler des Monats", da spuken noch solche Lösungen von mir rum...

Bei mathematisch schwierigen Sachen, für die es keine Literatur gibt (oder damals gab), kommentiere ich den Code, damit ich die Sache entwickeln kann. So z.B. bei meinen Doppelsternbahnen. Oder bei einer globalen Auf- und Untergangsrechnung, die berücksichtigt, dass die Sonne oder der Mond an bestimmten Orten auch mal an einem Tag gar nicht auf- oder untergehen. Hier machen manche Programme Fehler oder sind ungenau.

Die Doppelsterne liegen mir sehr am Herzen, da hab ich eine Software geschrieben, mit der man sich fast jede Bahn genau angucken kann. Da geht es mit Bahnelementen wirklich ans Eingemachte. Nicht wenige Bahnen in der Literatur sind unrichtig oder es fehlt ein Maßstab oder die Himmelsrichtung.

44_boo.jpg
25cvn.png

Jetzt muss ich aber aufhören, das driftet jetzt ins Off-Topic ab... :giggle:
 
Hallo Sternfreunde,

Natürlich sind das alles grobe Näherungen und die Daten beziehen sich auf Epoche J2000. Aber immerhin wurde gezeigt, dass es auch ohne Iteration der Keplergleichung funktioniert.

alle bisherigen Beiträge vermischen die (mindestens) drei Sorten Bahnelemente großer Planeten, die es gibt. Der eine redet von oskulierenden, der andere von mittleren 2000.0, der dritte von mittleren des Datums. Wenn die Wahrheit eine Schlangenlinie ist, dann schmiegen sich die oskulierenden Elemente an einer Stelle der Wahrheit exakt an. Lat. oskulum ist der (Abschieds-)Kuss der Antike, davon oskulierend - die oskulierenden Elemente "küssen" an einer Stelle die Wahrheit, schmiegen sich ihr exakt an. Die beiden anderen sind mittlere Elemente, d.h. sie küssen eben nicht, sondern kreuzen die Schlangenlinie mal von links und mal von rechts kommend. Die gelieferten Planetenpositionen können sich auf das mittlere Äquinoktium 2000.0 beziehen oder auf das m.Ä. des Datums.
vielleicht ist das Ganze doch nicht so kompliziert…

Also für allgemeine Mehrkörpersysteme gibt es keine geschlossenen Theorien (also Formeln mit denen man die Positionen direkt berechnen kann), also muss man sich mit Näherungen zufrieden geben. Das ist bewiesen und daran ist nicht zu rütteln :unsure: .
So kann man sich entweder von einem bekannten Anfangszustand schrittweise vorwärtstasten (quasi die Bewegung simulieren), das ist die numerische Integration.

Oder man summiert eine Unmenge von Termen um aktuelle Kepler-Bahnelemente zu erhalten. Das sind die oskulierenden Elemente. Die VSOP Theorien sind eine Möglichkeit sie zu berechnen.

So kannst du mit VSOP87 die aktuelle Kepler Elemente berechnen, oder dir auch gleich die kartesischen Koordinaten ausgeben lassen. Dann braucht’s auch keinen Kepler mehr.

Diese Aussage öffnete mir einige Augen: Die präzisen Theorien bilden nach ihr mit mathematischen Verfahren die oskulierenden Elemente ab und bringen sie in die von mir "Viel-Term-Theorie" genannte Form. Die gelieferten Orte beziehen sich IMMER auf das mittlere Äquinoktium des Datums - ein Erbstück des "Oskulierens".

Bei den mittleren Elementen müsste die Entscheidung "2000.0" oder "Datum" in den Größen der Terme und ihrer Veränderungsraten enthalten sein. Das ist eine Vermutung. Standish (Approximate Positions of the Planets) äußert sich dazu kryptisch und unvollständig, für mich sogar widersprüchlich. Er redet zwar an vielen Stellen von "2000.0", meint damit aber offensichtlich das Gültigkeitsdatum seiner Ausgangsterme. Auch "J2000 frame" überzeugt mich einfach nicht und das ist einer der Gründe, warum ich sein Kochrezept nicht weiter verwendete. Der Bezug einer Planetenposition auf "Datum" ist nämlich, allein schon wegen der o.g. präzisen Theorien, der absulute Standard und "2000.0" braucht man nur für Spezialanwendungen. Ich unterstelle Standish, dass er auch "Datum" meint, es aber nicht klar sagt.

Ich werde einmal versuchen, systematisch meine Standish-Kepler-Positionen mit präzisen Positionen möglichst weit weg von 2000.0, aber nach 1800.0 zu vergleichen. Bisher waren die Ergebnisse einfach zu nah an den präzisen dran, als dass ich ernsthaft auf die Idee gekommen wäre, das seien 2000.0. Aber das kann dauern.

Bis demnächst, R.M.
 
Kollege R.M.,

Allen Menschen recht getan, ist eine Kunst....

Was genau willst du eigentlich berechnen? Die approximierten Planetenpositionen mit Hilfe der Bahnelemente? Dem Thread-Titel nach zu urteilen?

Du zitierst ein Paper bzw. eine Webseite (Standish) und schwurbelst dann rum dass dir das was der Autor vorexerziert nicht passt. Meeus springt dir zuviel rum (tut er auch zeitweise, zugegeben), das Buch vom Montenbruck ist zu teuer, was auch immer. Nix passt dir so wie du es gerne hättest.

Diese Aussage öffnete mir einige Augen: Die präzisen Theorien bilden nach ihr mit mathematischen Verfahren die oskulierenden Elemente ab und bringen sie in die von mir "Viel-Term-Theorie" genannte Form. Die gelieferten Orte beziehen sich IMMER auf das mittlere Äquinoktium des Datums - ein Erbstück des "Oskulierens".

Na das ist ja mal eine ganz neue Erkenntnis! Aus den integrativen Theorien mit ihren hunderttausenden Termen kann man oskulierende, zeitintervallige, einfache(re) Beziehungen ableiten. Bumm! Montenbruck machte das ja auch, in den "Grundlagen" stehen die Dinger ja. Für die inneren Planeten bis Mars kann man mit Kepler Ellipsen nähern, wenn 1 oder 2 Bogenminuten Genauigkeit reichen. Für die Gasplaneten müssen oskulierende Elemente her, weil die gegenseitigen Störungen zu groß werden. Und das mach Standish ja auch, er gibt Korrekturfaktoren an für Jupiter bis Neptun, damit sich der Fehler in Grenzen hält.

Das es dann an der iterativen Lösung der Kepler-Gleichung scheitert ist ein Thema, das du selbst lösen musst. Ansätze wie andere das gemacht haben stehen weiter oben. Der Umweg für kleine Exzentrizitäten über die Mittelpunktsgleichung steht auch weiter oben.

cs,
harald

--
 
Hallo R.M.,
alle bisherigen Beiträge vermischen die (mindestens) drei Sorten Bahnelemente großer Planeten, die es gibt. Der eine redet von oskulierenden, der andere von mittleren 2000.0, der dritte von mittleren des Datums.
das Äquinoktium, zu welchem du Ephemeriden rechnen willst, kannst du dir doch selbst aussuchen und die jeweiligen Koordinaten entsprechend transformieren. Auch Bahnelemente lassen sich zwischen den Äquinoktien umrechnen.

Die Genauigkeit, mit welcher man die Ergebnisse haben möchte, kann man selbst bestimmen. Entweder lässt man die Störungsterme weg, die unter dieser (selbstgewählten) Grenze liegen, oder die entsprechenden Terme einer Planetentheorie (z.B. VSOP 87).

Die wichtigsten Lösungsmöglichkeiten für die Kepler-Gleichung stehen hier sogar mit Zahlenbeispielen im Thread, auch die Möglichkeit über die Mittelpunktsgleichung.

Man braucht auch nicht unbedingt eine komplexe Programmiersprache am Computer, kleine Sachen programmiere ich gerne mit meinem alten Sharp PC-1450 oder mit dem Casio FX-730P in ganz einfachem Basic...
alte_rechner.jpg :)
 
Hallo Sternfreunde,

ich suchte eine einfache Planetentheorie, die ich A. auf dem HP49G zum Laufen bringe und B. in Excel und Co. in einer Zeile mit maximal 150 Zellen unterbringe. Die Diskussion im thread brachte mir folgende Einsichten:

hcgreier entdeckte, dass mein amerikanisches Kochrezept Position 2000.0 liefert, was eigentlich auch ausdrücklich drin steht, ich aber nicht glauben wollte. Es ist aber so (beim Vergleich mit präzisen Werten waren meine ekliptikalen Längen Anfang des 19. Jahrhunderts systematisch zu groß) und Standish (Approximate Positions of the Planets) ist damit für mich erledigt. Um die Ergebnisse einer solchen einfachen Theorie mit einer präzisen vergleichen zu können, muss die erstere "Datum" liefern, weil es die letztere auch tut. Das nachträgliche Umsetzen auf andere Äquinoktien importiert zusätzliche Rechnerei und ist für mich kein gangbarer Weg.

Die Bemerkung eines Forumsteilnehmer klärte mich auf, dass die modernen, präzisen Viel-Term-Theorien mathematische Perfektionierungen der oskulierenden Elemente sind. Für Zwecke einer einfachen, händisch zu bewältigenden Planetentheorie kommen nur MITTLERE Kepler-Elemente in Frage, keinesfalls oskulierende. Der Hinweis, dass moderne, präzise Viel-Term-Theorien oskulierende Elemente liefern, ist also nicht nur nicht hilfreich, sondern gefährlich: Aus einem oskulierenden Elementesystem kann ich keine Planeten-Positionen über einige Jahrhunderte hinweg berechnen und sie sind damit für mein Vorhaben ungeeignet.

Ich dachte klargemacht zu haben, dass nicht ICH ein Problem mit der Keplergleichung habe, sondern das Tabellenkalkulationsprogramm. Kann ich auf saubere Programm-Bausteine wie DO .... UNTIL ... END zugreifen wie im HP49G, gibt es bei den kleinen Exzentrizitäten der großen Planeten keine Probleme.

Ich verwende nun die Elemente von Meeus, S. 200 ff., "Orbital Elements for the mean equinox of the date". Meeus bemerkt auf S. 202: "The longitude of the nodes, referred to the equinox of the date, are increasing for all planets. But with respect to the fixed equinox of 2000.0 these longitudes are decreasing, except for Jupiter and Saturn." Das beantwortet die Frage, wie man mittlere Elemente "Datum" und solche "2000.0" unterscheiden kann, wenn man den Rahmeninformationen misstraut.

Ich werfe Meeus unverändert vor, dass er für große Planeten nur die Viel-Term-Theorie VSOP genau erklärt und sich über die Weiterverwendung der von ihm abgedruckten mittleren Planetenelemente hin zu geozentrischen Orten nur bruchstückhaft und im Buch verstreut äußert. Ich vermute, dass nur wenige wissen, was sie denn nun mit der nach Lösung der Keplergleichung glücklich gefundenen exzentrischen Anomalie E anfangen sollen. Nach meinen seit 2008 zusammengescharrten Erkenntnissen geht es weiter zur wahren Anomalie, über Abstand Sonne-Planet und Argument der Breite zu heliozentrisch ekliptikal, zu heliozentrisch rechtwinklig, zu geozentrisch rechtwinklig und schließlich geozentrisch ekliptikal. Für jeden Schritt habe ich Formeln, woher weiß ich oft nicht mehr.

Der Weg über die Mittelpunktsgleichung (im thread weiter oben oder Meeus S. 222) ist gleich aufwändig wie der über die Keplergleichung und sicher auch händisch zu bewerkstelligen. Auch er liefert eine wahre Anomalie und es geht weiter wie eben mit meinen zusammengescharrten Formeln. Eine geordnete Darstellung des gesamten Verfahrens mit den mittleren Meeus-Elementen "date" und kurzen Begründungen der einzelnen Schritte und Formeln wäre einmal eine feine Sache, aber nicht von mir zu leisten. Falls jemand Details meines Verfahrens einsehen will, kann ich bestenfalls einen Scan meiner handschriftlichen Notiz (1,5 DIN-A-4-Seiten) hier einstellen.

Bis demnächst, R.M.
 
Status
Es sind keine weiteren Antworten möglich.
Zurück
Oben