Das Dreikörperproblem: Eine Veranschaulichung von Problemen und Lösungsverfahren der Numerik zum Lösen von Differentialgleichungen Jan Heidemeier1 5.4.2000 1 Für die Betreuung und Hilfe bei der Erstellung dieser Arbeit möchte ich Herrn Dr. Brenner ganz herzlich danken. ii Inhaltsverzeichnis 1 2 3 Einleitung 1.1 Die Geschichte des Dreikörperproblems . . . . . 1.2 Physik . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Ort – Geschwindigkeit – Beschleunigung 1.2.2 Die Keplerschen Gesetze . . . . . . . . . 1.2.3 Die Newtonschen Axiome . . . . . . . . 1.2.4 Gravitationskraft . . . . . . . . . . . . . 1.2.5 Die Gravitationskonstante . . . . . . . . 1.2.6 Die Stabilität des Sonnensystems . . . . 1.3 Mathematik . . . . . . . . . . . . . . . . . . . . 1.3.1 Die Gravitationskonstante . . . . . . . . 1.3.2 Differentialgleichungen . . . . . . . . . 1.3.3 Numerik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 4 4 5 6 7 7 8 8 8 9 11 Numerische Integration 2.1 Ein erstes Verfahren — Riemann–Summen . . . . . . . . . . . . . . 2.1.1 Die Abhängigkeit vom Zwischenvektor . . . . . . . . . . . . 2.2 Fehlerabschätzung . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Verfahren höherer Ordnung . . . . . . . . . . . . . . . . . . . . . . . 2.4 Integration mit den Gauß–Formeln . . . . . . . . . . . . . . . . . . . 2.5 Bewertung numerischer Ergebnisse . . . . . . . . . . . . . . . . . . . 2.6 Integration ohne Stammfunktion . . . . . . . . . . . . . . . . . . . . 2.7 Numerische Integration und numerisches Lösen von Differentialgleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 13 14 17 18 18 20 21 Das Federpendel 3.1 Grundlagen . . . . . . . . . . . . . . . . . . . 3.2 Die Bewegungsgleichung . . . . . . . . . . . . 3.3 Einfache numerische Lösung . . . . . . . . . . 3.4 2-Schritt-Verfahren . . . . . . . . . . . . . . . 3.5 Mehrschrittverfahren . . . . . . . . . . . . . . 3.6 Die Ordnung eines 1-Schritt-Verfahren . . . . . 3.7 Verfahren höherer Ordnung . . . . . . . . . . . 3.8 Vergleich Mehrschritt- und 1-Schritt-Verfahren 23 23 23 25 27 27 29 30 31 iii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 INHALTSVERZEICHNIS iv 4 Planetenbahnen 4.1 Analytische Lösung . . . . . . . . . . . . . . . . . . . . . . . 4.2 Bewegungsgleichungen . . . . . . . . . . . . . . . . . . . . . 4.3 Erste Planetenbahnen . . . . . . . . . . . . . . . . . . . . . . 4.4 Polarkoordinaten . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Ellipsenbahnen . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Verfahren 2. Ordnung . . . . . . . . . . . . . . . . . . . . . . 4.7 Verfahren höherer Ordnung . . . . . . . . . . . . . . . . . . . 4.7.1 Theorie . . . . . . . . . . . . . . . . . . . . . . . . . 4.8 Runge-Kutta-Verfahren n-ter Ordnung . . . . . . . . . . . . . 4.8.1 Der allgemeine Ansatz . . . . . . . . . . . . . . . . . 4.8.2 Der spezielle Runge-Kutta-Ansatz . . . . . . . . . . . 4.8.3 Aufstellen der Runge-Kutta-Formeln . . . . . . . . . . 4.8.4 Praktische Durchführung des Runge-Kutta-Verfahrens 4.8.5 Vorteile gegenüber MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 33 35 36 38 39 40 42 42 45 45 46 47 48 50 5 Erweiterungen 5.1 Schrittweitensteuerung . . . . . . . . . . . . . . . . . 5.1.1 Die Konvergenz von Einschrittverfahren . . . . 5.1.2 Schrittweitensteuerung in der Praxis . . . . . . 5.1.3 Beispiel . . . . . . . . . . . . . . . . . . . . . 5.2 Regulierung . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Rundungsfehlereinfluss bei Einschrittverfahren 5.2.2 Beispiel . . . . . . . . . . . . . . . . . . . . . 5.2.3 Darstellung in der Hamiltonschen Mechanik . 5.2.4 Durchführung . . . . . . . . . . . . . . . . . . 5.2.5 Rücktransformation . . . . . . . . . . . . . . . 5.2.6 Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 51 51 52 54 54 55 56 56 56 57 58 6 Das eingeschränkte Dreikörperproblem 6.1 Einleitung . . . . . . . . . . . . . . 6.2 Das Zweikörperproblem . . . . . . 6.2.1 Die reduzierte Masse . . . . 6.3 Die Bewegungsgleichungen . . . . 6.4 Sonne–Erde–Mond . . . . . . . . . 6.5 Die Reise zum Mond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 61 61 63 63 63 65 7 Das Dreikörperproblem 7.1 Fremde Welten . . . . . . . . . . . . . . . . . . . . 7.1.1 Raketenantrieb . . . . . . . . . . . . . . . . 7.2 Ein Spezialfall des Dreikörperproblems . . . . . . . 7.2.1 Startwerte und Bewegungsgleichung . . . . . 7.2.2 Lösen von Differentialgleichungen mit Matlab . . . . . . . . . . . . . . . . . . . . 7.2.3 Darstellung in der Hamiltonschen Mechanik 7.2.4 Regulierung . . . . . . . . . . . . . . . . . . 7.2.5 Lösung . . . . . . . . . . . . . . . . . . . . 7.2.6 Rücktransformation . . . . . . . . . . . . . . 7.2.7 Beurteilung der Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 73 75 76 76 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 78 80 81 81 82 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INHALTSVERZEICHNIS v A Numerik mit Excel A.1 VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 Animationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 85 87 B Excel und LATEX B.1 Tabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2 Diagramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 89 91 vi INHALTSVERZEICHNIS Abbildungsverzeichnis 1.1 1.2 Ellipse mit Brennpunkten und Halbachse a . . . . . . . . . . . . . . Harmonischer Oszillator 0<t<3 . . . . . . . . . . . . . . . . . . . . . 5 10 2.1 2.2 2.3 Mittelpunkts– und Trapezregel . . . . . . . . . . . . . . . . . . . . . Erläuterung der Mittelpunktsregel . . . . . . . . . . . . . . . . . . . Funktion mit schwieriger Fehlerabschätzung . . . . . . . . . . . . . . 16 16 21 3.1 3.2 3.3 Das Federpendel . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erste Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . verschiedene Interpolationenen . . . . . . . . . . . . . . . . . . . . . 24 26 28 4.1 4.2 4.3 4.4 4.5 Werte einer Planetenbahn . . . . . . . . . . . . . . . . . . Planetenbahn . . . . . . . . . . . . . . . . . . . . . . . . Zeitabhängigkeit der x0 Komponente . . . . . . . . . . . . Vergleich verschiedener Vorbeiflüge, Einschrittverfahren . Vergleich verschiedener Vorbeiflüge, Zweischrittverfahren . . . . . 34 37 38 40 41 5.1 5.2 Bahn in transformierten Koordinaten . . . . . . . . . . . . . . . . . . Vergleich reguliert und nicht-reguliert . . . . . . . . . . . . . . . . . 58 59 6.1 6.2 6.3 6.4 6.5 6.6 6.7 Kräfte zwischen 3 Körpern . . . . Die Bahn des Mondes . . . . . . . Die Bahn der Erde . . . . . . . . Bahn im Bereich 0.55 < t < 1.35 Bahn im Bereich 4.2 < t < 8.7 . . Bahn im Bereich 16.3 < t < 17.8 Die Landung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 66 67 68 68 69 70 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 Schwung holen, 6.5 < t < 6.6 . . Schwung holen, 74.8 < t < 76 . . Pythagorassche Anfangswerte . . 53 < t < 55 mit ode113 . . . . . regulierte Schrittweiten . . . . . . nichtregulierte Schrittweiten . . . Bahnen im Zeitraum 2 < t < 4 . . Bahnen im Zeitraum 50 < t < 60 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 75 77 79 82 83 83 84 B.1 Erstellen einer Tabelle . . . . . . . . . . . . . . . . . . . . . . . . . B.2 Erstellen eines Diagramms . . . . . . . . . . . . . . . . . . . . . . . 90 91 vii . . . . . . . . . . . . . . . . . . . . . . . . . viii ABBILDUNGSVERZEICHNIS B.3 Beispieldiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Tabellenverzeichnis 2.1 2.2 2.3 Ergebnisse der Integration mit Riemann–Summen . . . . . . . . . . . Ergebnisse Trapezregel . . . . . . . . . . . . . . . . . . . . . . . . . Vergleich Trapez– und Simpson–Verfahren . . . . . . . . . . . . . . . 14 17 20 3.1 3.2 3.3 Vergleich zweier Verfahren . . . . . . . . . . . . . . . . . . . . . . . Ergebnisse von Mehrschrittverfahren . . . . . . . . . . . . . . . . . . Vergleich Verfahren verschiedener Ordnung . . . . . . . . . . . . . . 27 29 31 4.1 4.2 4.3 4.4 4.5 Vergleich mit und ohne Schrittweitensteuerung . . . . . Schema für das modifizierte Euler-Verfahren . . . . . . Ergebnis eines modifizierten Euler-Verfahren . . . . . . Beispielrechnung zum Runge-Kutta-Verfahren . . . . . . Runge-Kutta-Verfahren mit verschiedenen Schrittweiten . . . . . . 42 44 44 49 49 5.1 5.2 Vergleich mit und ohne Schrittweitensteuerung . . . . . . . . . . . . Ohne Regulierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 56 6.1 Daten der Landung . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.1 7.2 7.3 Entfernung von der Erde . . . . . . . . . . . . . . . . . . . . . . . . MATLAB-Funktionen ode113 und ode45 . . . . . . . . . . . . . . . Eigener Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . 75 77 78 B.1 Beispieltabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 ix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung Das Dreikörperproblem gehört zu der Sorte von Problemen, die so anschaulich sind, dass auch „Nichteingeweihte“ leicht Zugang dazu finden. Es ist aber auch ein Problem, dass sich dauerhaft einer kompletten Lösung widersetzen konnte und sehr komplex werden kann. In dieser Staatsexamensarbeit stelle ich einige Verfahren zur Berechnung von Planetenbahnen zusammen. Sämtliche Rechnungen, Diagramme und Tabellen habe ich mit der bekannten Tabellenkalkulation Excel erstellt und hoffe, dadurch den Stoff zugänglicher zu machen. 2 TABELLENVERZEICHNIS Kapitel 1 Einleitung 1.1 Die Geschichte des Dreikörperproblems Die Geschichte des Dreikörperproblems ist eng verwandt mit der Geschichte der Himmelskörpermechanik und kann nach Victor Szebehely [11] in vier Abschnitte unterteilt werden. Der erste Abschnitt steht für einen Zeitraum von ungefähr 2000 Jahren. Er beginnt bei Aristoteles und umfasst Ptolemaeus, Copernicus, Brahe, Galileo und Kepler. Der zweite Abschnitt ist aus wissenschaftlicher Sicht der interessanteste und wird oft als der klassische Abschnitt bezeichnet. Er beginnt mit Newton und schließt mit Descartes, Leibniz, Halley, Euler, Clairaut, D’Alembert, Lagrange, Laplace, Legendre, Gauss, Poisson, Encke und Hamilton. Der dritte Abschnitt repräsentiert die Moderne. In dieser Zeit haben Wissenschaftler wie Hill, Tisserand, Poincaré, Moulton, Whittaker und Birkhoff gewirkt. Die vierte Gruppe wirkte im späten 20. Jahrhundert. Dazu zählen Leute wie Arnold, Brouwer, Duboshin, Herget, Herrick, Kolmogorov, Moser, Siegel und Wintner. Aristoteles (384–322 v.Chr.) war einer der großen griechischen Philosophen und führte die Idee eines geozentrischen Sonnensystems ein. Er stellte aber auch das Gesetz auf, dass verschieden schwere Körper verschieden schnell fallen. Aristoteles war kein Physiker in dem Sinne, dass er Experimente und Messungen durchführte. Andere griechische Philosophen hatten bereits im 3. Jahrhundert v.Chr. die Idee von einem heliozentrischen Sonnensystem. Nicolaus Copernicus (1473–1543) stammte wahrscheinlich aus Polen und war wahrscheinlich der erste wissenschaftliche Befürworter eines heliozentrischen Sonnensystems. Er betonte dabei die Einfachheit dieses Modells. Er selbst fürchtete sich davor, für seine Ideen ausgelacht zu werden. Sein Buch De Revolutionibus Orbium Coelestium, in dem er annahm, dass alle Planeten auf Kreisbahnen die Sonne umkreisen, wurde erst nach seinem Tod veröffentlicht. Es wurde 1616 von der katholischen Kirche verboten. Der deutsche Astronom Johannes Kepler (1571–1630) machte den nächsten wichtige Schritt. Er fügte zum heliozentrischen Sonnensystem die Idee elliptischer Bahnen hinzu. Seine drei Keplerschen Gesetze (siehe Abschnitt 1.2.2) der planetaren Bewegung werden noch heute gelehrt und benutzt. Galileo Galilei (1564–1642) stammte aus Pisa und ist einer der Väter der Dynamik und des heliozentrischen Sonnensystems. Er gilt als Vordenker von Newton, schrieb wichtige Bücher, auch über Mathematik, und erfand das Teleskop. In seinen letzten 3 KAPITEL 1. EINLEITUNG 4 Lebensjahren geriet er in Konflikt mit der Kirche. Der berühmte Satz „Und sie bewegt sich doch!“ und sein Märtyrertum für die Wissenschaft sind allerdings wohl nur erfunden [13]. Sir Isaac Newtons (1642–1727) Beitrag zur Wissenschaft gilt als Beginn einer völlig neuen (Himmelskörper–) Mechanik, ja sogar einer neuen Bedeutung von „Wissenschaft“. Alexander Pope schrieb Nature and nature’s laws lay hid in night. God said ‘let Newton be’, and all was light.“. Newton war einer der ersten Wissenschaftler, der das Dreikörperproblem Sonne–Erde– Mond untersuchte. Er beklagte sich, dass das Problem ihm Kopfschmerzen und Schlaflosigkeit bereitet. Letztendlich war er jedoch immerhin in der Lage, die erdnahen Punkte der Mondbahn auf 8% genau vorherzusagen. Er stellte die nach ihm benannten Newtonschen Axiome (siehe Abschnitt 1.2.3) und eine Gleichung für die Gravitationskraft (siehe Abschnitt 1.2.4) auf. Er schrieb die drei berühmten Bände der „ Philosophiae Naturalis Principia Mathematica“. Die Himmelsmechanik und das Gesetz der Gravitationskraft wird in Band III behandelt. Bis zur Entdeckung der speziellen Relativitätstheorie durch Albert Einstein galt die Mechanik als komplett durch Newton’s Gesetze „gelöst“. Newton selbst sagte bescheidener: I seem to have been only like a boy playing on the seashore and diverting myself in now and then finding a smoother pebble or a prettier shell than ordinary while the great ocean of truth lay all undiscovered before me. Der englische Astronom Edmond Halley (1656-1742), nach dem der Halleysche Komet benannt ist, war ein ergebener Bewunderer Newtons und finanzierte dessen Publikationen aus eigener Tasche. Newton starb 1727 und liegt im Westminster Abbey in London begraben. Leonhard Euler (1707-1783) schlug das sehr spezielle Dreikörperproblem, bekannt als „Das Problem der zwei fixierten Kraftzentren“, vor, das mit elliptischen Funktionen komplett lösbar ist. Außerdem benutzte er als Erster rotierende Bezugssysteme, um das eingeschränkte Dreikörperproblem (siehe Abschnitt 6) zu untersuchen. Seine Arbeit über die Bewegung des Mondes fand schnell Anwendung in der Navigation. In der Mathematik arbeitete Euler auch an Verfahren zum numerischen Lösen von Differentialgleichungen (siehe Abschnitt 3.3). Einige Jahre vor seinem Tod wurde er blind, was jedoch seine Schaffenskraft nicht beeinflusste. Henri Poincaré (1854–1912) gehörte zu den fleißigsten Autoren in der Wissenschaft. Er schrieb mehr als 30 Bücher und 500 Aufsätze. Im Zusammenhang mit dem Dreikörperproblem schuf er das Konzept nicht–integrabler dynamischer Systeme und beeinflusst damit die Suche nach einer Lösung der Frage nach der Stabilität des Sonnensystems sehr. Die Himmelskörpermechanik lebte mit den ersten künstlichen Satelliten stark auf. In dieser Zeit gab und gibt es viele, die Beachtliches geleistet haben. Einzelheiten können in [11] nachgelesen werden. 1.2 Physik 1.2.1 Ort – Geschwindigkeit – Beschleunigung Ort, Geschwindigkeit und Beschleunigung sind in dieser Arbeit wesentliche Eigenschaften der zu untersuchenden Körper. Diese drei Größen sind miteinander verbun- 1.2. PHYSIK 5 den. Für die Durchschnittsgeschwindigkeit gilt z.B. v̄ = zurückgelegte Strecke ∆x = benötigte Zeit ∆t Soll nicht die Durchschnittsgeschwindigkeit, sondern die momentane Geschwindigkeit ermittelt werden, so muss man die zurückgelegte Strecke in immer kleineren Zeitintervallen messen. In der Mathematik wird dann der Grenzwert v = lim ∆t→0 dx ∆x = = ẋ ∆t dt gebildet, wobei die Ableitung nach der Zeit durch einen Punkt gekennzeichnet wird (dx/dt = ẋ). Die Geschwindigkeit, die Änderung des Ortes mit der Zeit, entspricht also der ersten Ableitung des Ortes nach der Zeit. Mit der Beschleunigung wird ähnlich verfahren. Es gilt dann ∆v a = lim = v̇ = ẍ. ∆t→0 ∆t Diese Beziehung von Ort, Geschwindigkeit und Beschleunigung wird benutzt, um aus einer Bewegungsgleichung eine Differentialgleichung zu erstellen, deren Lösung numerisch berechnet werden kann. 1.2.2 Die Keplerschen Gesetze Nach [12] untersuchte gegen Ende des 16. Jahrhunderts der Astronom Tycho Brahe die Planetenbewegung und machte Beobachtungen, die wesentlich genauer waren als die bis dahin bekannten. Johannes Kepler fand unter Verwendung dieser Daten nach vielem Probieren heraus, dass die Planeten die Sonne nicht auf Kreisbahnen, sondern auf Ellipsenbahnen umlaufen. Er zeigte auch, dass sich die Planeten nicht mit konstanter Abbildung 1.1: Ellipse mit Brennpunkten und Halbachse a Geschwindigkeit bewegen, sondern dass die Geschwindigkeit um so größer ist, je näher sich ein Planet bei der Sonne befindet (siehe Abb. 1.1). Schließlich entwickelte Kepler eine mathematische Beziehung zwischen der Umlaufdauer eines Planeten und seiner durchschnittlichen Distanz zur Sonne. Kepler drückte seine Ergebnisse in Form dreier KAPITEL 1. EINLEITUNG 6 empirischer Gesetze für die Planetenbewegung aus. Einige Jahrzehnte später lieferten diese Gesetze die Basis zu Newtons Entdeckung des Gravitationsgesetz. 1. Alle Planeten bewegen sich auf elliptischen Bahnen um die Sonne, wobei die Sonne in einem der Brennpunkte der Ellipse steht (siehe Abb. 1.1). 2. Die Verbindungslinie zwischen der Sonne und einem Planeten überstreicht in gleicher Zeit gleiche Flächen. 3. Die Quadrate der Umlaufzeiten zweier Planeten T1 und T2 verhalten sich wie die dritten Potenzen der großen Halbachsen aq und a2 ihrer Bahnen: T12 : T22 = a31 : a32 1.2.3 T2 = konst. a3 Die Newtonschen Axiome Eine der großen Leistungen Newtons war die Aufstellung der Newtonschen Axiome. Aus der Beobachtung der Natur gelang es ihm, drei grundsätzliche Prinzipien herauszufiltern, auf welche die gesamte Mechanik aufgebaut werden kann. Diese Axiome sind grundlegend und können in jedem Buch über Mechanik nachgelesen werden [17]. 1.) Trägheitsprinzip Ein kräftefreier Körper bewegt sich gradlinig gleichförmig. 2.) Aktionsprinzip Wenn eine Kraft F~ auf einem Körper mit der Masse m wirkt, beschleunigt sie ihn mit ~ ¨= F. (1.1) ~a = ~x m (Das Trägheitsprinzip ist der Spezialfall F~ = 0 des Aktionsprinzips.) 3.) Reaktionsprinzip Wenn die Kraft F~ , die auf einen Körper wirkt, ihren Ursprung in einem anderen Körper hat, so wirkt auf diesen die entgegengesetzte gleiche Kraft −F~ . (Dieses Prinzip ist auch bekannt als Aktio = Reaktio.) Newton hatte das Aktionsprinzip eigentlich anders formuliert: 2.)0 Wenn eine Kraft F~ auf einen Körper wirkt, ändert sich sein Impuls p~ = m~v so, dass d m~v = F~ (1.2) dt gilt. Diese Fassung behält ihre Richtigkeit im Gegensatz zu 2.) auch bei einer veränderlichen Masse, wie das bei einer Rakete oder aber auch in der Relativitätstheorie der Fall ist. In den folgenden Kapiteln wird (1.1) oft benutzt, um Bewegungsgleichungen aufzustellen. Diese Bewegungsgleichungen sind die Grundlage für die Berechnung von Planetenbahnen. Die Newtonschen Axiome wurden durch die spezielle Relativitätstheorie abgelöst. Für den Normalfall und auch für das Dreikörperproblem werden sie jedoch weiterhin verwendet. Der Fehler bei Geschwindigkeiten, die klein gegenüber der Lichtgeschwindigkeit (c = 299792458 m s ) sind, ist in der Regel zu vernachlässigen. 1.2. PHYSIK 1.2.4 7 Gravitationskraft Eine der großen Leistungen Newtons war die Aufstellung des Gesetzes der Schwerkraft. Die Keplerschen Gesetze waren zwar ein wichtiger Schritt zum Verständnis der Planetenbewegung. Es handelte sich bei ihnen aber nur um empirisch aufgestellte Regeln. Erst Newton tat den riesigen Schritt nach vorne und schrieb die Beschleunigung eines Planeten auf seiner Bahn einer Kraft zu, die zwischen der Sonne und dem Planeten wirkt und umgekehrt proportional ist zum Quadrat des Abstandes von der Sonne. Und er konnte beweisen, dass diese Kraft genau die von Kepler beobachteten elliptischen Bahnen zur Folge hat. Nach dem Newtonschen Gravitationsgesetz übt jeder Körper eine anziehende Kraft auf jeden anderen Körper aus. Es gilt Gm1 m2 ~r12 . F~12 = − 2 r12 r12 (1.3) Dabei ist ~r12 der Vektor der von Masse 1 zu Masse 2 zeigt, und r12 dessen Betrag, also der Abstand der Massen 1 und 2. G ist die (universelle) Gravitationskonstante mit dem Wert G = 6.67 · 10−11 N m/kg 2 . Newton schrieb bereits um 1669, dass „das Streben, sich von der Sonne zu entfernen, reziprok zum Quadrat des Abstandes von der Sonne ist“. Sein Gesetz wurde 1686 veröffentlicht. Danach dauerte es allerdings noch etwa ein Jahrhundert, bis Cavendish die Konstante G experimentell relativ genau messen konnte. 1.2.5 Die Gravitationskonstante Die Kenntnis der Gravitationskonstanten G ist nicht nur von grundsätzlichem Interesse, sondern hat auch praktische Anwendungen, zum Beispiel bei der Bestimmung der Dichteverteilung im Inneren der Erde, des Mondes, anderer Planeten und entfernter Sterne. 1798 konnte Cavendish mit einer Gravitationswaage [12, S.310] den Wert bereits auf 1% genau bestimmen. Alle Messungen von G sind wegen der extrem kleinen Gravitationskraft sehr kompliziert. So erklärt sich, dass man G auch heute nur mit einer Genauigkeit von bis zur vierten Stelle nach dem Komma kennt. Obwohl G eine der ersten universellen physikalischen Konstanten war, die jemals gemessen wurde, bleibt sie eine der am wenigsten exakt bestimmten Größen. Für die praktische Anwendung der hier beschriebenen Verfahren hat das deutliche Auswirkungen. Viele der hier berechneten Bahnen werden mit einer Genauigkeit erstellt, die weit über die von G hinaus geht. Ein Ergebnis kann jedoch nicht genauer sein als die zu Grunde liegenden Werte. Außerdem werden alle Himmelskörper als homogene Massen bzw. als Punktmassen angesehen. In der Praxis sind Planeten jedoch inhomogen. Es gibt Berge, die Dichte im Erdinnern ist anders als an der Oberfläche, ja sogar große Erzvorkommen können die Erdanziehungskraft variieren und stören. In späteren Kapiteln wird z.B. die Landung einer Kanonenkugel bis auf Bruchteile von Sekunden genau vorhergesagt. Solche Werte sind also mit Vorsicht zu genießen. Es gehört noch viel mehr dazu, die Bahn einer Sonde auf lange Sicht vorauszuberechnen, als in dieser Arbeit erwähnt wird. KAPITEL 1. EINLEITUNG 8 1.2.6 Die Stabilität des Sonnensystems In den späteren Kapiteln wird deutlich gezeigt, dass manchmal winzige Veränderungen der Planetenbahnen und –geschwindigkeiten zu großen Änderungen der weiteren Bahn führen können. Mit der Erfahrung, dass unser Sonnensystem auf Dauer stabil ist, beschäftigte sich z.B. Laplace. Dieses Problem ist bis heute nicht gelöst. Die Titus– Bodesche Beziehung[4] beschreibt jedoch eine Regelmäßigkeit in der Anordnung der Planeten. Die Radien an der Planetenbahnen bilden näherungsweise eine geometrische Reihe: an ≈ aErde k n , k ≈ 1.85 (nMerkur = −2, nVenus = −1, nErde = 0, nMars = 1, nJupiter = 3, nSaturn = 4, . . .) Der fehlende Wert n = 2 entspricht dabei dem Asteroidengürtel zwischen Mars und Jupiter. Es wird vermutet, dass Planeten, die diese Bedingung nicht erfüllen, sich stören würden und das System auf Dauer nicht stabil wäre. Diese Beziehung lässt sich leider nicht an anderen Sonnensystemen verifizieren. Selbst in unserem Sonnensystem ist es unklar, ob nicht noch weitere Planeten existieren. Das von einem evtl. weiteren vorhandenen Planeten reflektierte Sonnenlicht wäre zu gering, um messbar zu sein. Man untersucht deshalb die bekannten Planeten auf Bahnabweichungen, die auf einen weiteren Planeten hinweisen würden. Auf diese Weise wurde auch der Pluto entdeckt. Seine Position wurde theoretisch vorhergesagt, bevor er ausgemacht werden konnte. 1.3 Mathematik 1.3.1 Die Gravitationskonstante Aus Gründen der Einfachheit wird das Gravitationsgesetz im Folgenden nicht mehr wie in (1.3) geschrieben. Statt dessen wird eine Form ohne Gravitationskonstante benutzt. m1 m2 ~r12 F~12 = − 2 r12 r12 Die Gravitationskonstante verschwindet dabei nicht etwa. Vielmehr werden die Einheiten so gewählt, dass die Gravitationskonstante den Wert 1 annimmt. Beispiel 1.1 Die Strecke soll in Lichtsekunden (1Ls = 299, 792, 458m) und die Masse in Erdmassen (1mErde = 5.977 · 1024 kg ) gemessen werden. Wie muss nun die Einheit der Zeit gewählt werden, damit die Gravitationskonstante zu 1 wird? Für die Gravitationskonstante gilt wegen N/kg = m/s2 6.67 · 10−11 3 N m2 −11 m = 6.67 · 10 . kg 2 s2 kg 1.3. MATHEMATIK 9 Mit den neuen Maßeinheiten soll sich Folgendes ergeben. 6.67 · 10−11 Dann muss gelten m3 6.67 · (299792458m)3 · 5.977 · 1024 · X 2 = 11 2 s kg 10 · 2997924583 · 5.977 · 1024 kg · (Xs)2 (Ls)3 6.67 · 5.977 · 1024 X 2 = 11 3 10 · 299792458 (Xs)2 · mErde (Ls)3 =1 (Xs)2 · mErde 6.67 · 5.977 · 1024 X 2 1011 · 2997924583 2 ⇔ X = 6.758542032 · 1011 ⇒ X = 259971.96 ! 1= Die Zeit wird also in 259972s gemessen, das sind etwas mehr als 3 Tage. Diese Einheiten können an das jeweilige Problem angepasst werden. 1.3.2 Differentialgleichungen Dieser Abschnitt soll kurz die benötigten Aspekte von Differentialgleichungen erläutern. Er orientiert sich deshalb eher an den Bedürfnissen der Physik als an denen der Mathematik. Unter einer Differentialgleichung versteht man eine Gleichung, in der sowohl eine Funktion als auch Ableitungen dieser Funktion vorkommen. In dieser Arbeit werden nur Differentialgleichungen der Form (1.4) y (n) = f t, y, y 0 , . . . , y (n−1) betrachtet, also Differentialgleichungen, die sich nach der höchsten Ableitung auflösen lassen (explizite Differentialgleichungen). Die höchste Ableitung gibt die Ordnung an. So ist (1.6) eine Differentialgleichung der Ordnung n. Analytische Lösung Differentialgleichungen können nur in Spezialfälle analytisch gelöst werden. Ein Verfahren mit charakteristischen Polynomen, das oft in der Physik Anwendung findet, erbringt manchmal diese Lösung [17, S.150]. Beispiel 1.2 Eine gedämpfte harmonische Schwingung kann mit der Differentialgleichung ẍ = − D k ẋ − x m m ⇔ mẍ + Dẋ + kx = 0 beschrieben werden. D und k stehen dabei für die Dämpfungs– und Federkonstante. Mit dem Ansatz x = x0 eλt ergibt sich dann das charakteristische Polynom mx0 λ2 eλx + Dx0 λeλx + kx0 eλx = 0 mλ2 + Dλ + k = 0 mit den Nullstellen λ1,2 = √ −D± D 2 −4mk . 2m (1.5) Die Lösungen sind x1,2 (t) = x0 eλ1,2 t . KAPITEL 1. EINLEITUNG 10 Anfangswertproblem Soll die Bahn eines gedämpften Pendels nun konkret bestimmt werden, müssen zuvor Anfangswerte (oder auch Startwerte) festgelegt werden. Man benötigt eine Startzeit t 0 , einen Startort x0 = x(t0 ) und eine Startgeschwindigkeit v0 = v(t0 ). Mit k = 14, m = 2 und D = 1 ergeben die Startwerte t0 = 0, x0 = 5 und v0 = 5 die in Abbildung 1.1 gezeigte Bewegung. 5 x(t) 4 3 2 1 0 −1 −2 −3 −4 0 0.5 1 1.5 2 2.5 3 Abbildung 1.2: Harmonischer Oszillator 0<t<3 Reduzierung der Ordnung Jede Differentialgleichung der Ordnung n lässt sich in ein Differentialgleichungssystem mit n Gleichungen der Ordnung 1 zerlegen. Das hat den Vorteil, nur Differentialgleichungen der Ordnung 1 untersuchen zu müssen. Beispiel 1.3 Gegeben sei eine Differentialgleichung y (2) = y 00 = f (t, y, y 0 ) = −ky (1.6) Nun benötigt man n (hier n = 2) neue Variablen v und x mit x = y und v = y 0 . Dann ergeben sich die n Differentialgleichung 1. Ordnung als x0 = y 0 = v v 0 = y 00 = f (t, x, v) = −kx 1.3. MATHEMATIK 1.3.3 11 Numerik Seitdem genügend Rechenleistung in Form von Computern zur Verfügung steht, können viele Probleme gelöst und analysiert werden, die früher einen zu großen Aufwand dargestellt hätten. So z.B. das 4–Farben–Problem, aber auch das Dreikörperproblem. Ein Spezialfall des Dreikörperproblems, der in Abschnitt 7.2 beschrieben wird, wurde 1912 noch in penibler Handarbeit berechnet [2]. Die Vorteile eines Computers bringen aber auch Nachteile mit sich. Rundungsfehler Wie in [6] beschrieben wird, werden in einem Rechner Zahlen als Gleitpunktzahlen dargestellt. Eine solche Zahl besteht aus drei Teilen. 1.) Dem Vorzeichen. 2.) Den Stellen der Zahl. 3.) Dem Exponenten der Zahl. Das Hauptproblem liegt darin, dass die Anzahl der Stellen für jede Zahl feststeht. So kann z.B. in Excel eine Variable a in einfacher Genauigkeit deklarieren und ihr einen beliebigen Wert zuweisen. Dim a As Single a = 0.0000123456789 Ein Ausgabe von a ergibt a=0.1234568E-04 Der Rechner speichert don der Eingabe also nur 7 Stellen von a und rundet mit der achten Stelle. Bei Rechnungen tritt dieser Rundungsfehler an vielen Stellen auf. Beispiel 1.4 Die Aufgabe 1.2345675013 + 0.002358711 − 1.236925987 = 0.000000225 soll nachgerechnet werden. Ein Computer geht dabei Schritt für Schritt vor. 1. Die Zahlen werden gerundet. gl(1.2345675013) = +1.234568E + 0 gl(0.002358711) = +2.358712E − 3 gl(1.236925987) = +1.236926E + 0 2. Die ersten zwei Zahlen werden addiert und das Ergebnis wird gerundet. (+1.234568E + 0) + (+2.3587118E − 3) = (+1.236927E + 0) 3. Die Subtraktion wird durchgeführt und das Ergebnis wird gerundet. (+1.236927E + 0) − (+1.236926E + 0) = (+1.E − 7) Nun stellt sich heraus, dass das exakte Ergebnis 2.25 · 10−7 mehr als doppelt so groß ist wie das Computerergebnis 1 · 10−7 . Der im Beispiel erläuterte Effekt wird Auslöschung genannt, und tritt besonders bei der Subtraktion großer nur leicht unterschiedlicher Zahlen auf. Das ist beim Dreikörperproblem z.B. bei sehr kleinen Schrittweiten der Fall. Das Problem wird in Abschnitt 5.2 näher erläutert. KAPITEL 1. EINLEITUNG 12 Fehler Soll die Genauigkeit einer Näherungslösung quantitativ erfasst werden, so kann deren absoluter und den relativer Fehler angeben werden. Mit einem exakten Wert x und einer Näherung x̃ ergibt sich der absolute Fehler als ∆x = x̃ − x und für x 6= 0 der relative Fehler als ε= x̃ − x ∆x = |x| |x| In Beispiel 1.4 ist das exakte Ergebnis x = 2.25 · 10−7 und die Näherung x̃ = 1 · 10−7 . Dann ist der absolute Fehler ∆x = 1.25 · 10−7 und der relative Fehler ε = 1.25 oder auch 125%. Da in der Numerik das exakte Ergebnis oft nicht bekannt ist, muss der Fehler abgeschätzt werden. Dazu kann eine weitere Näherung x̃2 dienen, von der bekannt ist, dass sie exakter ist als eine erste Näherung x̃2 . Der relative Fehler lässt sich dann als ε≈ x̃1 − x̃2 |x̃2 | approximieren. In dieser Arbeit werden beide Verfahren angewendet. Eine genauere Beschreibung zur Fehleranalyse findet ist unter [6] zu finden. Kapitel 2 Numerische Integration In diesem Abschnitt werden einfache und etwas fortgeschrittene Verfahren zur numerischen Integration erläutert. Es erhebt nicht den Anspruch auf Vollständigkeit und meisterhafte Ergebnisse. Vielmehr sollen einige grundlegenden Bezeichnungen und Prinzipien eingeführt und erläutert werden. 2.1 Ein erstes Verfahren — Riemann–Summen Die Definition eines Riemann-Integrals [5, S.450] legt bereits ein erstes Verfahren zur Berechnung von Integralen nahe. Berechnet werden soll der Wert Z b f (x) dx. (2.1) a Dazu wird das Intervall [a, b] in n gleich lange Unterintervalle der Länge b−a n und mit den Grenzen [ai , bi ], i = 1, 2, . . . , n. Der Integralwert wird also in n Schritten berechnet. Die Länge eines Schrittes bezeichnet man als Schrittweite. Für jedes Intervall werden noch Werte xi ∈ [ai , bi ] benötigt. Die Gesamtheit dieser Werte ~x = (x1 , . . . , xn ) bezeichnet man als Zwischenvektor. Dann konvergiert nach der Definition die Folge der Riemann–Summen gegen den gesuchten Integralwert. Z b n b−aX f (xi ) → f (x) dx für n → ∞ (2.2) Sn = n i=1 a Ausgangspunkt für das folgende Beispiel ist eine Funktion, deren Stammfunktion bekannt ist. Es wäre also keine numerische Integration notwendig. Andererseits lässt sich so der Fehler leicht berechnen. In Beispiel 2.4 wird beschrieben, wie man auch ohne Kenntnis einer exakten Lösung die Qualität der numerischen Lösung beurteilen kann. Beispiel 2.1 Berechne den Wert des Integrals Z 2.5 0.1 1 dx. x Die Stammfunktion zu f (x) = ist bekanntlich F (x) = log(x). Analog zur Definition werden nun die Zerlegungsnullfolge und die dazugehörenden Zwischenvektoren 1 x 13 KAPITEL 2. NUMERISCHE INTEGRATION 14 gewählt. Das Intervall [0.1, 2.5] wird in gleich lange Unterintervalle zerteilt. Es gilt |[ai , bi ]| = b−a n . Der Zwischenvektor besteht in seinen Komponenten aus den gegebenen Grenzen der einzelnen Unterintervalle. „Anfangspunkt“ bedeutet in diesem Zusammenhang, dass der Zwischenpunkt gleich der linken Grenze des Unterintervalls ist (xi = ai , i = 1, . . . , n). „Endpunkt“ bedeutet entsprechend, dass der Zwischenpunkt gleich der rechten Grenze ist. Der Integralwert lässt sich jetzt über (2.2) berechnen. In Tabelle 2.1 sind 16 Ergebnisse solcher Riemann–Summen zusammengefasst. Jeweils 8 für die End– und 8 für die Anfangspunkte. Schrittweite 2.4000 1.2000 0.6000 0.3000 0.1500 0.0750 0.0375 0.0187 mit Anfangspunkten 24.0000 12.9231 7.6345 5.1911 4.1013 3.6235 3.4104 3.3118 rel. Fehler 6.4560 3.0148 1.3718 0.6127 0.2742 0.1257 0.0595 0.0289 mit Endpunkten 0.9600 1.4031 1.8745 2.3111 2.6613 2.9035 3.0504 3.1318 rel. Fehler 0.7018 0.5641 0.4177 0.2820 0.1732 0.0980 0.0523 0.0271 log(25) 3.2189 3.2189 3.2189 3.2189 3.2189 3.2189 3.2189 3.2189 Tabelle 2.1: Ergebnisse der Integration mit Riemann–Summen Wie in Tabelle 2.1 zu sehen ist, unterscheiden sich die Ergebnisse mit den verschiedenen Zwischenvektoren, trotz identischer Zerlegungsfolge, sehr. Gleichzeitig wird aber auch deutlich, dass sowohl die Folge mit den Anfangspunkten als auch die Folge mit den Endpunkte gegen den gleichen und auch korrekten Grenzwert konvergieren. Das ist auch klar, da unsere Funktion f (x) = 1/x auf dem Intervall (0, ∞) Riemann– integrierbar ist und somit jede Riemann–Folge gegen den gleichen Grenzwert konvergiert. 2.1.1 Die Abhängigkeit vom Zwischenvektor Offenbar hängt das Ergebnis, der Integralwert, stark vom Zwischenvektor ~x ab. Die Frage muss also lauten: Wie lässt sich mit der Wahl des Zwischenvektors das Ergebnis optimieren. Wie kann man in kürzerer Zeit ein besseres Ergebnis erreichen? Im Fall der Funktion aus Beispiel 2.1 sieht man, dass bei dem Zwischenvektor bestehend aus den jeweiligen Anfangswerten der Unterintervalle das Resultat immer zu hoch ist und bei dem zweiten Zwischenvektor immer zu niedrig. Die Funktion f (x) = 1/x ist streng monoton fallend. Deshalb ist auf dem Intervall I = [ai , bi ] ⊂ [a, b] immer f (ai ) = maxf (x) und f (bi ) = minf (x). Der Integralwert jedes einzelnen Unterinx∈I x∈I tervalls wird also angenähert durch einen maximalen und minimalen Wert. Für das Intervall I heißt das Z 1 dx ≤ maxf (x). minf (x) |I| ≤ x∈I x∈I x Allgemein kann ein Ergebnis aus der Analysis für dieses Problem herangezogen werden. 2.1. EIN ERSTES VERFAHREN — RIEMANN–SUMMEN 15 Theorem 1 (Erweiterter Mittelwertsatz der Integralrechnung) Die Funktion f sei stetig und die Funktion g sei Riemann–integrierbar auf dem Intervall I = [xi , xi+1 ] und es sei g ≥ 0 oder g ≤ 0. Dann gibt es einen Wert ξ ∈ I mit inf f ≤ f (ξ) ≤ sup f für den gilt Z Z (2.3) f g dx = f (ξ) g dx. I I In Beispiel 2.4 wird die Funktion f (x) durch eine konstante Funktion g(x) = c angenähert. Gleichung 2.3 wird dann zu Z Z c · f dx = f (ξ) c dx I ZI f (x) dx = f (ξ)(b − a) I ξ ist also ein Zwischenstelle, eine Komponente des Zwischenvektors mit ξ ∈ [x i−1 , xi ]. Bislang haben wir ξ also sehr ungünstig gewählt. Im folgenden Beispiel wird der Zwischenvektor optimiert. Beispiel 2.2 (Trapez– und Mittelpunktsregel) Rx Wie zuvor erläutert gibt es für das Intervall I einen Wert ξ ∈ I , so dass f (ξ) · (xi − xi−1 ) = xii−1 f (x) dx. Da der Wert ξ unbekannt ist, ist es nicht das Ziel, ξ exakt zu bestimmen. Vielmehr ist das Wissen über die Existenz dieses Wertes die Motivation, die bisherigen Ergebnisse zu verbessern. Eine erste Verbesserung besteht in einem Mittelwert zwischen dem Maximalwert und dem Minimalwert. Für das Unterintervall I = [xi−1 , xi ] gilt dann minf (x) = f (xi−1 ) ≤ x∈I f (xi−1 ) + f (xi ) ≤ f (xi ) = maxf (x) x∈I 2 Der exakte Zwischenwert ist nun unbekannt. Wird die Fläche im Intervall nun mit (xi − xi−1 ) f (xi−12)+f (xi ) approximiert, so entspricht dies einer Näherung durch eine Funktion 1. Grades. Wie in Abbildung 2.1 zu sehen ist, werden die Punkte des Graphen zum Anfang und zum Ende der Unterintervalle durch eine Gerade miteinander verbunden. Die einzelnen Flächen ergeben Trapeze, so dass dieses Verfahren auch als Trapezregel bezeichnet wird. Da die untersuchte Funktion nicht nur streng monoton fallend sondern auch konkav ist, ist dieser Wert weiterhin immer größer als der Integralwert. Im Gegensatz dazu ergibt die Mittelpunktsregel bei einer konkaven Funktion immer einen Wert, der kleiner ist als der Integralwert. Bei der Mittelpunktsregel sind die Zwischenwerte immer genau in der Mitte der einzelnen Unterintervalle. Somit schließt jede Gerade durch diesen Punkt die gleiche Fläche mit der x–Achse und den rechten und linken Grenzen ein. Die Gerade kann also so gedreht werden, dass sie eine Tangente an f (x) darstellt. Wie in Abbildung 2.2 zu sehen ist, ist diese Gerade immer unterhalb von f . In Tabelle 2.2 werden die Ergebnisse einer Integration über der Funktion f (x) = 1/x auf dem Intervall [0.1, 2.5] dargestellt. Dabei ist Mittelwert = T rapezregel+M2ittelpunktsregel . Abbildung 2.1 zeigt nochmal die Zerlegung des Intervalls und die Näherung durch Trapez– und Mittelpunktsregel. Der Fehler des Ergebnisses aus dem Mittelwert zwischen der oberen und der unteren Gerade ist zu Anfang höher als der Wert der unteren Gerade und wird mit kleineren KAPITEL 2. NUMERISCHE INTEGRATION 16 12 Exakt drueber drunter 10 8 6 4 2 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Abbildung 2.1: Mittelpunkts– und Trapezregel 5 f (x) = 1/x y = 1.25 y = 1.5625x + 2.5 Drehpunkt 4.5 4 u 3.5 3 2.5 2 1.5 u 1 0.5 0 0.2 0.4 0.6 0.8 1 Abbildung 2.2: Erläuterung der Mittelpunktsregel 1.2 1.4 2.2. FEHLERABSCHÄTZUNG Schrittweite 2.40000 1.20000 0.60000 0.30000 0.15000 0.07500 0.03750 0.01875 Trapezregel 12.48000 7.16308 4.75447 3.75110 3.38135 3.26352 3.23042 3.22179 17 Mittelpunktsregel 1.84615 2.34586 2.74773 3.01159 3.14569 3.19732 3.21316 3.21742 Fehler 2.87713 1.22533 0.47706 0.16534 0.05047 0.01387 0.00359 0.00091 Fehler 0.42646 0.27122 0.14637 0.06440 0.02274 0.00670 0.00178 0.00045 Mittelwert 7.16308 4.75447 3.75110 3.38135 3.26352 3.23042 3.22179 3.21961 Fehler 1.22533 0.47706 0.16534 0.05047 0.01387 0.00359 0.00091 0.00023 Tabelle 2.2: Ergebnisse Trapezregel Schrittweiten besser. Das liegt daran, dass die Gerade der Trapezregel für große Schrittweiten sehr schlechte Ergebnisse liefert. Aber auch für sehr kleine Schrittweiten ist der Fehler des Mittelwerts nur etwa halb so groß wie die Fehler der anderen beiden Werte. Diese Verbesserung lohnt den Aufwand nicht. Besser ist es, auf diesen Wert zu verzichten und mit dem frei werdenden Rechenaufwand den Integralwert mit einer kleineren Schrittweite zu berechnen. 2.2 Fehlerabschätzung Unterteilt man das Intervall [a, b] in gleich lange Unterintervalle der Länge h, so gilt bei der Mittelpunktsregel für die n–te Riemann–Summe (siehe (2.2) Sn = h n X (2.4) f (xi ), i=1 i mit xi = ai +b 2 . Der Fehler ist dann die Differenz zwischen dem exakten und dem genäherten Wert Z b n X f (x) dx − h f (xi ). (2.5) ∆Sn = a i=1 Die Funktion f (x) lässt sich in der Umgebung von xi durch eine Taylor–Entwicklung annähern. 1 (2.6) f (x) = f (xi ) + δf 0 (xi ) + δ 2 f 00 (xi ) + . . . 2 Setzt man (2.6) in das Integral in (2.5) ein und integriert, jeweils für ein Intervall, von −h/2 bis +h/2 über δ, so sieht man, dass der erste Summand der Taylorreihe mit der Summe in (2.4) identisch ist. Der zweite Summand verschwindet bei der Integration der zur y–Achse symmetrischen Funktion. In diesem Fall sind das alle δ mit ungerader Potenz. Für den Fehler gilt dann 1 ∆Sn = f 00 (xi ) 2 Z h 2 −h 2 δ 2 dδ = h2 00 f (xi ). 24 (2.7) Man spricht in diesem Fall davon, dass der Fehler von der Ordnung 2 in h ist. Die Trapezregel ist ebenfalls ein Verfahren 2. Ordnung. exakt 3.21888 3.21888 3.21888 3.21888 3.21888 3.21888 3.21888 3.21888 KAPITEL 2. NUMERISCHE INTEGRATION 18 2.3 Verfahren höherer Ordnung Eine Näherung der zu integrierenden Funktion durch eine Funktion 1. Grades wie bei der Trapez– und Mittelpunktsregel führte zu einem Verfahren 2. Ordnung. Somit liegt es nahe, Funktion höheren Grades zur Näherung zu verwenden. Benutzt man eine quadratischen Funktion, so führt das zu der Simpson–Regel. Das Simpson–Verfahren ist ein Verfahren 4. Ordnung. Nun sollen Funktionen auf dem Intervall [a, b] durch ein Polynom vom Grad L approximiert werden. Es gelte f (xk ) = L X αi Pi (xk ), (2.8) i=0 an L + 1 Stützstellen xk , k = 0, .., L. Die Pi (x), i = 0, . . . , L bilden einen Satz linear unabhängiger Polynome der maximalen Ordnung i. Ist die zu integrierende Funktionf (x) selbst von der Ordnung L, so ist die Näherung gleich dem Integralwert I. Für den Fall L = 3 gilt dann I = ω0 f (x0 ) + ω1 f (x1 ) + ω2 f (x2 ). (2.9) Die Integration sei nun für die Funktionen 1, x, und x2 exakt. Z xi ! 1 dx = xi − xi−1 = ω0 + ω1 + ω2 xi−1 xi ! xi + xi−1 1 2 xi − x2i−1 = ω0 xi−1 + ω1 + ω 2 xi 2 2 xi−1 Z xi ! 1 1 3 x2 dx = xi − x3i−1 = (xi + xi−1 )(x2i − x2i−1 ) + (xi − xi−1 )(x2i + x2i−1 ) 3 6 xi−1 Z x dx = = ω0 x2i−1 + ω1 xi + xi−1 2 + ω2 x2i 2 (2.10) Das Lösen des Gleichungssystems ergibt 1 (xi − xi−1 ) 6 4 ω1 = (xi − xi−1 ) 6 ω0 = ω 2 = und somit die Simpson–Formel Z xi 1 xi + xi−1 = (xi − xi−1 ) f (xi ) + 4f + f (xi−1 ) . 6 2 xi−1 (2.11) (2.12) 2.4 Integration mit den Gauß–Formeln Bislang wurden nur die Anzahl der Stützstellen, und somit der Grad des interpolierenden Polynoms, gewählt und daraus die Gewichte ωi berechnet. Als Stützstellen wurden ohne Begründung die Intervallgrenzen und die Intervallmitte genommen. Beim Gauß– Verfahren werden nun auch die Stützstellen xi frei wählbar gelassen. Man geht dann folgendermaßen vor: 2.4. INTEGRATION MIT DEN GAUSS–FORMELN 19 b−a 1. Man forme ein Integral über x0 durch Substitution x0 = b+a 2 + 2 y auf ein im Intervall [-1,1] definiertes, bestimmtes Integral um. Das Integral ist dann Z b Z Z 1 b−a 1 b+a b−a 0 0 f (x ) dx = f f (x)dx. Iab = + y dy = 2 2 2 a −1 −1 (2.13) Es reicht also aus, die Betrachtungen im Folgenden auf Integrale über dem Intervall [−1, 1] zu beschränken. 2. Sei L die Anzahl der Stützstellen. Dann ist I−1,1 = ω0 f (x0 ) + ω1 f (x1 ) + . . . + ωL−1 f (xL−1 ), (2.14) wobei sowohl die Stützstellen x0 , . . . , xL−1 als auch die Gewichte ω0 , . . . , ωL−1 unbekannt sind. 3. Zur Bestimmung dieser 2L Unbekannten werden in (2.14) 2L Polynome eingesetzt (siehe (2.8)). Dazu ein Beispiel. Beispiel 2.3 Betrachtet wird der zur Simpson–Formel passende Fall L = 2. In (2.14) werden dann die Polynome 1, x, x2 und x3 eingesetzt. Mit a = −1 und b = 1 gilt dann (b − a) = 2 = ωo + ω1 1 2 (b − a2 ) = 0 = ω0 x0 + ω1 x1 2 1 3 2 (b − a3 ) = = ω0 x20 + ω1 x21 3 3 1 4 (b − a4 ) = 0 = ω0 x30 + ω1 x31 4 (2.15) (2.16) (2.17) (2.18) Einsetzen von (2.16) in (2.18) liefert x20 = x21 und damit x0 = −x1 , wenn man fordert, dass die Stützstellen verschieden sein sollen. Mit (2.15), (2.16) und (2.17) ergibt sich ω0 = ω 1 = 1 und x20 = 1 1 ⇒ x1,2 = ± √ . 3 3 (2.19) Die x1,2 sind die gesuchten Stützstellen. Möchte man dieses Verfahren mit einem höheren L durchführen, so bekommt man beim Auflösen des nichtlinearen Gleichungssystem Probleme. Dieses Problem kann man mit Polynomen gelöst werden, die, wie die Legendre–Polynome, auf dem Intervall [−1, 1] orthogonal zueinander sind. Eine Herleitung des Verfahrens und einer Fehlerabschätzung kann man in [6, S.156] nachlesen. In Tabelle 2.3 werden Ergebnisse von Trapez– und Simpson–Verfahren miteinander verglichen. Mit beiden Verfahren sollte die Funktion f (x) = x1 sollte über dem Intervall [0.1, 2.5] integriert werden. Die Anzahl der Schritte wurde dabei von Zeile zu Zeile verdoppelt bzw. die Schrittweite halbiert. In Bezug auf die Ordnung des Verfahrens ist dabei auch besonders das Verhältnis des relativen Fehlers zwischen zwei Zeilen interessant. Die Trapezregel ist ein Verfahren 2. Ordnung. Bei halber Schrittweite sollte dieses Verhältnis 1/22 = 1/4 betragen. Beim Simpson–Verfahren entsprechend 1/16. KAPITEL 2. NUMERISCHE INTEGRATION 20 Schritte 2 4 8 16 32 64 128 256 512 1024 Ergebnis 7.163077 4.754471 3.751099 3.381345 3.263517 3.230421 3.221791 3.219606 3.219059 3.218922 Trapezregel Fehler Verhältnis 1.23E+00 4.77E-01 2.5685 1.65E-01 2.8852 5.05E-02 3.2758 1.39E-02 3.6395 3.59E-03 3.8667 9.06E-04 3.9607 2.27E-04 3.9896 5.68E-05 3.9974 1.42E-05 3.9993 Ergebnis 3.951602 3.416642 3.258094 3.224240 3.219389 3.218914 3.218878 3.218876 3.218876 3.218876 Simpson Fehler 2.28E-01 6.14E-02 1.22E-02 1.67E-03 1.59E-04 1.19E-05 7.84E-07 4.97E-08 3.12E-09 1.95E-10 Verhältnis 3.7050 5.0427 7.3104 10.4587 13.4338 15.1338 15.7590 15.9379 15.9846 Tabelle 2.3: Vergleich Trapez– und Simpson–Verfahren Bei Verhältnisse werden bei kleineren Schrittweiten deutlich erreicht. Man sieht auch deutlich die Überlegenheit des Simpson–Verfahrens. Für einen Fehler von ungefähr 10−5 benötigt die Trapezregel 1024 Schritte und dass Simpson–Verfahren nur 64 Schritte. Das Simpson–Verfahren ist in diesem Fall 10 mal so schnell. 2.5 Bewertung numerischer Ergebnisse Ist die Stammfunktion einer zu integrierenden Funktion bekannt, so ist auch der exakte Wert eines bestimmten Integrals bekannt. In diesem Fall fällt es leicht, die Güte eines numerisch berechneten Wertes zu bewerten, indem man den exakten Wert mit dem numerischen Wert vergleicht. Ist der exakte Wert bzw. die Stammfunktion jedoch nicht bekannt, und das ist der Regelfall für die numerische Integration, so können die numerisch bestimmten Werte auch nicht mehr so einfach bewertet werden. Letztendlich lässt sich in der Numerik nicht mit Sicherheit eine Aussage treffen wie: „Das Ergebnis ist auf 5 Stellen genau.“ In unserem Beispiel ist jedoch sicher, dass das Ergebnis der numerischen Integration sich mit sinkender Schrittweite dem exakten Ergebnis nähert. Das heißt jedoch nicht, dass das Ergebnis von Schritt zu Schritt besser werden muss, sondern nur, dass das Ergebnis irgendwann besser wird. Ab welchem Punkt das Ergebnis nun jedoch wirklich besser wird, lässt sich nicht mit letzter Sicherheit sagen. 2 x + 4 · e10·(x−13) . Würde man Abbildung 2.3 ist ein Schaubild der Funktion f (x) = 10 den Algorithmus aus Beispiel 2.2 auf diese Funktion anwenden, so erhielte man im ersten, zweiten und dritten Durchgang exakt das gleiche Ergebnis und könnte bereits nach dem 2. Schritt abbrechen und behaupten dass das Ergebnis im Rahmen der Maschinengenauigkeit exakt ist. Sobald die Schrittweite jedoch in die Größenordnung des „Ausreißers“ um x = 13 kommt, wird des Integrationsergebnis vom vorherigen Wert abweichen. Es kann also nie darauf verzichtet werden, ein Ergebnis kritisch zu betrachten. Ist dies gewährleistet, kann man die numerischen Werte jedoch sehr sicher und gut beurteilen. Im folgenden Abschnitt wird eine Funktion vorgestellt, die die Genauigkeit einer numerischen Berechnung beurteilt. 2.6. INTEGRATION OHNE STAMMFUNKTION 21 8 7 6 5 4 3 2 1 0 0 5 10 15 20 25 30 35 40 Abbildung 2.3: Funktion mit schwieriger Fehlerabschätzung 2.6 Integration ohne Stammfunktion Bislang haben wir Funktionen untersucht, deren Stammfunktion bekannt war. Aus der Sicht der Numerik ist dieser Fall jedoch weitgehend uninteressant, da man ja gerade keine Numerik braucht, um Ergebnisse zu erhalten. Interessanter ist es, Funktionen zu untersuchen, zu denen keine Stammfunktion bekannt ist, die aber integrierbar sind. Beispiel 2.4 Berechnet werden soll der Integralwert der Funktion Z φ0 0 1 1 − cos φ 2 dφ, 0 ≤ φ0 ≤ π (2.20) Diese Funktion wurde nicht willkürlich gewählt. Die Ergebnisse dieses Abschnittes können in Abschnitt 4 über Planetenbahnen verwendet werden. Im Zuge der Fehlerabschätzung wird ein neuer und besserer Algorithmus entwickelt werden. Beim erneuten Betrachten von Beispiel 2.2 stellt man fest, dass eine Integration mit dem Simpson–Verfahren auf dem Intervall [0.1; 1.1] mit einer Schrittweite von 1/10 den Fehler 5.89 · 10−4 ergibt. Eine Integration auf dem Intervall [1; 2] ergibt bei gleicher Schrittweite dagegen einen wesentlich kleineren Fehler von 2.15 · 10−9 . In Abbildung 2.1 wird deutlich, dass eine Näherung umso schlechter wird, je näher sich die Integrationsgrenzen bei x = 0 befinden. Bislang wurde das Intervall in gleich lange Unterintervalle zerteilt. Wünscht man eine bestimmte Genauigkeit, so müssen die Unterintervalle auch an den ungünstigsten Stellen in der Nähe von x = 0 klein genug sein. Das heißt, dass an günstigen Stellen die Länge der Unterintervalle unnötig klein ist. Das schadet der Genauigkeit zwar nicht, bedeutet aber einen unnötigen Rechenaufwand. In einem KAPITEL 2. NUMERISCHE INTEGRATION 22 neuen Algorithmus muss also eine Funktion zur Bestimmung der Schrittweite eingefügt werden. Solch ein Verfahren wird auch als Schrittweitensteuerung bezeichnet. Prozedur Fläche_Berechnen (Anfang, Ende) Genauigkeit = Bewerte_Genauigkeit_Intervall (Anfang, Ende) if (Genauigkeit nicht ausreichend) then Anzahl_Intervall=Unterteile_Intervall(Genauigkeit) for a=1 to Anzahl_Intervalle (Anfang*, Ende*) = Berechne_neu_Anfang_Ende(Anfang, Ende, Anzahl_I Fläche_Berechnen (Anfang*, Ende*) Next end if Ende Prozedur Der Algorithmus lässt sich rekursiv verwenden. Das heißt, er unterteilt ein vorgegebenes Intervall in Unterintervalle und benutzt diese Unterintervalle in einem nächsten Schritt wieder als vorgegebene Intervalle. In Bezug auf die Abschätzung der Genauigkeit (siehe Kapitel 2.5) ist der Schritt in Zeile 3 des Algorithmus besonders interessant. Diese Unterprozedur kann folgendermaßen umgesetzt werden: Prozedur Bewerte_Genauigkeit_Intervall (Anfang, Ende) Fläche1=Berechne_Fläche (Anfang, Ende) Fläche2=Berechne_Fläche (Anfang, (Ende+Anfang)/2) + _ Berechne_Fläche ((Ende+Anfang)/2), Ende) Bewerte_Genauigkeit_Intervall = Abs (Fläche1 - Fläche2) Ende Prozedur In dem Algorithmus Bewerte_Genauigkeit_Intervall wird also der Integralwert zuerst in einem und dann in zwei Schritten berechnet. Dabei wird davon ausgegangen, dass der Zwei–Schritt–Wert exakter ist. Vergleicht man nun die beiden Werte, so kann man aus deren Unterschied die Qualität des ersten Ergebnisses bewerten. Möchte man nun ein auf z.B. 5 Stellen genaues Ergebnis erhalten, so kann man den Algorithmus dann abbrechen, wenn sich die Werte Fläche1 und Fläche2 um weniger als 10−5−1 unterscheiden. 2.7 Numerische Integration und numerisches Lösen von Differentialgleichungen Beim numerischen Lösen von Differentialgleichungen tauchen viele Begriffe aus dem Kapitel Integration wieder auf. So z.B. Schrittweite, Zwischenwerte und die Ordnung eines Verfahrens. Außerdem können Verfahren wie z.B. die Schrittweitensteuerung ähnlich übernommen werden. Kapitel 3 Das Federpendel Die erste zu lösende Differentialgleichung hängt nicht direkt mit dem Dreikörperproblem zusammen. Es wird ein Federpendel untersucht. Wie im vorherigen Kapitel über numerische Integration lässt sich auch dieses Problem analytisch, also, im mathematischen Sinne, exakt lösen. 3.1 Grundlagen Ein Federpendel besteht aus eine Masse (dem Pendel), die an einer Feder befestigt ist und lose herunterbaumelt. Es wirken zwei Kräfte auf diese Masse. Zum einen ist da die Gewichtskraft Fg . Die Ursache dieser Kraft sind die Massen des Pendels und die der Erde, die sich gegenseitig anziehen. Die zweite Kraft stammt von der Feder. Wird sie aus ihrer Ruhelage ausgelenkt, erzeugt sie eine Rückstellkraft. Da diese Kraft von der Federkonstanten k abhängt, wird sie im Folgenden mit Fk abgekürzt. Ist das Pendel in Ruhe (siehe Abbildung 3.1 Teil 1), so entspricht das einem Gleichgewicht der beiden Kräfte. Nach den Newtonschen Axiomen (siehe Abschnitt 1.2.3) bedeutet das, dass die Masse ihre Geschwindigkeit nicht mit der Zeit verändert. Das Pendel bleibt also in Ruhe. Lenkt man das Pendel um eine Strecke −x aus seiner Ruheposition aus (siehe Abb. 3.1 Teil 2), wird eine der beiden Kräfte größer. Ein negatives Vorzeichen bedeutet dabei „Auslenkung nach unten“. Für diesen Fall wird die Federkraft größer und bei einer Auslenkung nach oben entsprechend kleiner. Da jetzt kein Kräftegleichgewicht mehr herrscht, wird die Masse in Richtung der resultierenden Kraft beschleunigt, sobald man sie wieder los lässt. 3.2 Die Bewegungsgleichung Um einen Körper zu veranlassen, seinen geradlinig gleichförmigen Bewegungszustand aufzugeben, also um ihn zu beschleunigen, muss eine Kraft auf ihn wirken. Die Beschleunigung ist proportional zu dieser Kraft. Das sind die ersten zwei Newtonschen Axiome (siehe Abschnitt 1.2.3). Das 2. Newtonsche Axiom besagt ¨. F~ = m~a = m~x (3.1) Gleichungen dieser Art werden Bewegungsgleichungen genannt. Wenn wir mit x die Auslenkung der Pendelmasse aus seiner Ruhelage bezeichnen, hat das Federpendel die 23 KAPITEL 3. DAS FEDERPENDEL 24 Abbildung 3.1: Das Federpendel folgende Bewegungsgleichung: X Fi = FG + Fk = −mg − (kx − mg) = −kx = ma = mẍ (3.2) k x. m Das ist eine Differentialgleichung 2. Ordnung in x. Die Lösung kann, wie in Abschnitt 1.3.2 beschrieben, ermittelt werden. Die Lösung, der „harmonischer Oszillator“, ist eine Funktion der Art x(t) = A sin(ωx + δ) (3.3) p mit ω = k/m. Die Richtigkeit kann leicht geprüft werden, indem man die Funktion x(t) zweimal ableitet und die Ableitung sowie die Funktion in Gleichung 3.2 einsetzt. Außerdem kann mit dem Satz von Picard-Lindelöf überprüft werden, dass die Lösung eindeutig ist, es also keine zweite Lösung mehr gibt. Zum Zeitpunkt t = 0 ist die Auslenkung dabei x(t = 0) = 0. Damit das System nicht wie oben beschrieben im Ruhezustand ist, kann die Geschwindigkeit zu diesem Zeitpunkt also nicht 0 sein v(t = 0) 6= 0. Die Konstanten A, B, ω und δ werden durch die Anfangsbedingungen x(t = 0) und y(t = 0) und durch die Rahmenbedingungen m und k bestimmt. Über einfache Umformungen gelangt man zu ωx0 − ωt0 (3.4) δ = arctan v0 ẍ = − und A= x0 . sin(ωt0 + δ) (3.5) Eine erste intuitive Möglichkeit zur numerischen Berechnung wird nun vorgestellt. 3.3. EINFACHE NUMERISCHE LÖSUNG 25 3.3 Einfache numerische Lösung Ähnlich wie in Abschnitt 2 muss auch hier integriert werden. Bekannt ist ein Anfangspunkt (x0 , ẋ0 ) und alle Kräfte und Gesetze um die Auslenkung der Masse und ihre Geschwindigkeit vorrauszusagen. Unbekannt ist jedoch ẍ(t). Wäre diese Funktion bekannt, müsste nur noch einmal für die Geschwindigkeit und einmal für den Ort integriert werden. Z Z t t a(s) ds = t0 und Z t0 t v(s) ds = t0 Z ẍ(s) ds = ẋ(t) − ẋ(t0 ) (3.6) ẋ(s) ds = x(t) − x(t0 ). (3.7) t t0 Das Wissen über die numerische Integration wird also von Nutzen sein. Die erste und einfachste Methode ist, davon auszugehen, dass sich die Beschleunigung in dem Zeitintervall I = [t0 ; t0 + ∆t] nicht sehr verändern wird. Das heißt, wir nehmen an, a(t) = a(t0 ) im gesamten Intervall I. Dieses Verfahren ist auch als Euler–Verfahren bekannt. Für die Integration gilt dann Z t v(t) − v(t0 ) = a ds = at (3.8) t0 und x(t) − x(t0 ) = Z t v(s) ds = t0 1 2 at + v(t0 )t 2 (3.9) Dabei ist die Beschleunigung zum Zeitpunkt t0 gegeben durch a(t0 ) = F (t0 ) −k = x(t0 ). m m (3.10) Jetzt kann man bereits einen kleinen Algorithmus schreiben. tAktuell = 0 until tAktuell>GrenzeZeit a=-k*x/m vNeu=vAlt + a*t xNeu=xAlt + vAlt*t + a*t^2/1 tAktuell=tAktuell + t do loop Abbildung 3.2 zeigt Ergebnisse, die nach dem oben beschriebenen Muster errechnet wurden. Die Anfangswerte sind dabei x(t0 ) = 5, v(t0 ) = 0 und t0 = 0. Das Pendel wird also um 5 LE (Längeneinheiten) ausgelenkt und dann losgelassen. Die Rahmenbedingungen sind möglichst einfach gewählt als k = 8, m = 2 und somit p ω = k/m = 2. Das Diagramm zeigt zwei Reihen von numerisch vorhergesagten Kurven. Die erste Reihe wurde mit einer Schrittweite ∆t = 0.1 und die zweite Reihe mit einer Schrittweite von ∆t = 0.05 berechnet. Da auf 20 Zeiteinheiten vorausgesagt werden sollte, ergibt das 200 Rechenschritte für die erste und 400 Rechenschritte für die zweite Reihe. Wie in Abbildung 3.2 zu sehen ist, wird die Amplitude der numerischen Lösung, im KAPITEL 3. DAS FEDERPENDEL 26 40 Schrittweite 0,1s Schrittweite 0,05s Ort 30 20 10 0 −10 −20 −30 0 5 10 15 20 Abbildung 3.2: Erste Ergebnisse Vergleich zur korrekten Amplitude, immer größer. Eine deutliche Abweichung von der exakten Lösung zeigt sich bereits nach der ersten kompletten Schwingung. Im ersten Viertel dieser Periode wird das Pendel nach unten beschleunigt. Da der Integrationsalgorithmus zur Voraussage der Beschleunigung einfach den Wert der Beschleunigung zu Beginn eines Schrittes nimmt, ist diese immer zu groß, die Pendelmasse wird also zu schnell. Im 2. Viertel hingegen ist die Beschleunigung immer zu klein, die Pendelmasse wird also zu wenig gebremst. Beide Punkte führen dazu, dass die Amplitude immer stärker anwächst. Die Nulldurchgänge hingegen weisen keine sichtbaren Fehler auf. In dieser Hinsicht gleichen sich die zu starke und zu schwache Beschleunigung aus. Offensichtlich sind die Vorhersagen sehr ungenau. Wollte man auf diese Weise sicherstellen, nicht vor ein Pendel zu laufen, so sollte man sich nicht zu sehr in Sicherheit wiegen. In späteren Kapiteln, in denen das Dreikörperproblem offensichtlicher behandelt wird, geht es bei der Frage nach der Genauigkeit dann nicht mehr um eine Beule sondern z.B. um einen Satellit, der abstürzen könnte oder auch einfach sein Ziel verfehlt, wenn er nicht genau gesteuert wird. Der Zeitaufwand der Rechnung ist allerdings auch noch nicht sehr groß. Für die erste Reihe beträgt er 1/200s und für die zweite Reihe 1/100s. Im Folgenden wird nicht mehr die ganze Bahn des Pendels betrachtet. Es soll nur noch der Ort und die Geschwindigkeit zu einem bestimmten Zeitpunkt in der Zukunft berechnet werden. 3.4. 2-SCHRITT-VERFAHREN 27 3.4 2-Schritt-Verfahren Die Vorgehensweise entspricht in etwa der bei der numerischen Integration. Bislang wurde die Beschleunigung ẍ einfach als für einen gewissen Zeitraum konstant betrachtet. Jetzt soll, wie z.B. bei der Trapezregel, die Beschleunigung durch eine lineare Funktion angenähert werden. Um eine Gerade festlegen zu können, benötigt man allerdings zwei Wertepaare (x i , ẋi ), i = 1, 2. Da die Funktion ẍ(t) jedoch nicht bekannt ist, muss mit Hilfe von zuvor bekannten Werten eine Vorhersage gemacht werden. Als Startwert ist in der Regel jedoch nur ein Paar gegeben. Das zweite Paar kann aber über penible Integration nach der ersten Methode beliebig genau ermittelt werden. Dies stellt aufgrund der Einmaligkeit keinen zu hohen Aufwand dar. Das Verfahren liefert bereits wesentlich bessere Ergebnisse als das Verfahren aus dem vorherigen Kapitel. Da man in üblichen Diagrammen die Abweichungen nur noch schlecht sehen kann, werden nicht mehr die kompletten Bahnen sondern nur noch die Position zu einem bestimmten Zeitpunkt betrachtet. Tabelle 3.1 stellt Ergebnisse eines 1-Schritt- und eines 2-Schritt-Verfahren dar. Es sollte der Ort des Körpers in 20 Zeiteinheiten vorausgesagt werden. Der exakte Wert ist x(20) = 5 cos(2 · 20) = −3.3346903082 · · · . Die Werte des 1-Schritt-Verfahren der Werten aus dem vorigen Kapitel. Der ZeitSchrittweite 0.100 0.050 0.010 0.005 0.001 1-Schritt -20.44933 -8.83391 -4.08736 -3.69380 -3.40389 Fehler 5.132E+00 1.649E+00 2.257E-01 1.077E-01 2.075E-02 2-Schritt -4.60342 -3.65619 -3.34726 -3.33781 -3.33481 Fehler 3.805E-01 9.641E-02 3.769E-03 9.370E-04 3.729E-05 Tabelle 3.1: Vergleich zweier Verfahren aufwand bei gleicher Schrittweite steigt um 50%. Wichtiger ist jedoch der Aufwand, der benötigt wird, um eine bestimmte Genauigkeit zu erreichen. Soll der relative Fehler etwa 1 · 10−1 betragen, so ist das 1-Schritt-Verfahren auf eine Schrittweite von 0.005 angewiesen. Das 2-Schritt-Verfahren erreicht diese Genauigkeit bereits bei einer Schrittweite von 0.05 und muss damit nur 1/10 der Schritte ausführen. Insgesamt ist das 2-Schritt-Verfahren ca. 5 mal so schnell. 3.5 Mehrschrittverfahren Das 2-Schritt-Verfahren ist deutlich besser (schneller, billiger) als das 1-Schritt-Verfahren. Dieses Kapitel behandelt die Frage, wie viele Schritte sinnvoll sind. In Abbildung 3.3 werden die Voraussagen für die Beschleunigung ẍ(t) im Bereich [0.2, 0.25] dargestellt. Wie beschrieben benötigt ein n-Schritt-Verfahren dafür n Schritte. Mit der steigenden Anzahl der Schritte wird die Voraussage der unbekannten Beschleunigung genauer. Anschaulich wird klar, dass die Genauigkeit mit steigender Anzahl der Schritte steigt. Bei einem n-Schritt-Verfahren wird die Beschleunigung durch ein Polynom vom Grad n−1 interpoliert. Die Stützstellen des Polynoms sind die Punkte KAPITEL 3. DAS FEDERPENDEL 28 −12 Exakte Kurve 1-Schritt −13 2-Schritt 3-Schritt −14 ♦ + −15 −16 + + + + −17 + + + + + + + + + + + + + + ♦ ♦ ♦ ♦ + ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ + −19 + + + −20 0.1 0.2 0.3 0.4 0.5 0.6 0.7 −18 Abbildung 3.3: verschiedene Interpolationenen (x1 , f (x1 )) , (x2 , f (x2 )) , . . . , (xn , f (xn )). Das Polynom ist dann von der Form p(x) = a0 + a1 x + . . . + an−2 xn−2 + an−1 xn−1 . Wie bereits in (3.8) und (3.9) lässt sich dann der Ort und die Geschwindigkeit zu einem späteren Zeitpunkt voraussagen. v(t) = v(t0 ) + Z t p(s) ds t0 a1 an−1 n = v(t0 ) + a0 h + h2 + . . . + h 2 n (3.11) und x(t) = Z tZ t0 t p(s) ds t0 = x(t0 ) + v(t0 )h + a0 2 a1 3 an−1 h + h + ... + hn+1 2 6 n · (n + 1) (3.12) mit der Schrittweite h = (t − t0 ). x(t) wird also durch ein Polynom vom Grad (n + 1) und v(t) durch ein Polynom vom Grad n errechnet. Welche Auswirkungen das auf die Ergebnisse hat, wird in Tabelle 3.2 zusammengestellt. Dabei wurden erneut der Ort und die Geschwindigkeit des Pendels zwanzig Sekunden in die Zukunft vorausgesagt. Eingetragen wurden nur die Fehler des Ortes. Die Fehler in der Geschwindigkeit weisen keine qualitativen Unterschiede auf. Betrachtet man die Verhältnisse der Fehler von Schritt zu Schritt, so stellt man fest, dass sich die Fehler beim 1-Schritt-Verfahren in etwa halbieren und bei den anderen Verfahren vierteln. Das 1-Schritt-Verfahren scheint von der Ordnung 1 und die anderen von der Ordnung 2 zu sein. 3.6. DIE ORDNUNG EINES 1-SCHRITT-VERFAHREN Schrittweite 1/10 2−1 /10 2−2 /10 2−3 /10 2−4 /10 Fehler Ort 1 5.13E+00 1.65E+00 6.50E-01 2.89E-01 1.36E-01 Fehler Ort 2 3.80E-01 9.64E-02 2.39E-02 5.90E-03 1.47E-03 Fehler Ort 3 4.36E-02 1.43E-02 4.08E-03 1.09E-03 2.81E-04 29 Fehler Ort 4 6.53E-02 1.82E-02 4.65E-03 1.17E-03 2.91E-04 Tabelle 3.2: Ergebnisse von Mehrschrittverfahren 3.6 Die Ordnung eines 1-Schritt-Verfahren In [16, S.114] wird beschrieben, wie der Fehler-Begriff, der in Kapitel 2.5 bereits eingeführt wurde, auf Differentialgleichungen anzuwenden ist. Danach wird gezeigt, was ein Verfahren höherer Ordnung ausmacht. Zuerst also zum Fehlerbegriff, wobei die bislang behandelte Differentialgleichung des Federpendels als Beispiel dienen soll. Wie man bereits an den Mehrschrittverfahren sehen konnte (siehe Gleichungen 3.8, 3.9, 3.11 und 3.12) sind die Gleichungen zur Vorhersage von Ort und Geschwindigkeit immer vom Typ x(t) = x(t0 ) + (t − t0 )φ(x(t0 ), v(t0 ), (t − t0 )) v(t) = v(t0 ) + (t − t0 )φ(x(t0 ), v(t0 ), (t − t0 )). Dabei war bei den Mehrschrittverfahren die Funktion φ(x(t0 ), v(t0 ), (t − t0 )) ein Polynom mit Koeffizienten, die aus vorhergehenden Werten errechnet wurden. Im Einschrittverfahren hat sie folgende Gestalt. φ(x(t0 ), v(t0 ), (t − t0 )) = v(t0 ) − k x(t0 )(t − t0 ) 2m (3.13) für den Ort und φ(x(t0 ), v(t0 ), (t − t0 )) = − k x(t0 ) m (3.14) für die Geschwindigkeit zum Zeitpunkt t. Wie zuvor ist dabei k die Federkonstante und m die Masse des Pendels. Um die Übersichtlichkeit zu wahren, wird im Folgenden nur noch der Fehler des Ort betrachtet. Seien nun t0 und x(t0 ) beliebige aber festgelegte Anfangswerte und Ort(t) der exakte Wert des Orts zum Zeitpunkt t. Dann gibt die Funktion ( x(t)−x(t0 ) (t − t0 ) 6= 0 t−t0 ∆ (x(t0 ), y(t0 ), (t − t0 )) := (3.15) v(t) (t − t0 ) = 0 den Differenzenquotienten der exakten Lösung x(t) zur Schrittweite (t − t 0 ) an, während φ(x(t), y(t), (t − t0 )) der Differenzenquotient zur Schrittweite (t − t0 ) der durch φ gelieferten Näherungslösung ist. Die Größe der Differenz τ (x(t), y(t), (t − t0 )) = ∆ (x(t0 ), y(t0 ), (t − t0 )) − φ(x(t), y(t), (t − t0 )) gibt dann an, wie gut die Gleichung des Einschrittverfahrens die exakte Lösung der Differentialgleichung erfüllt: Sie ist ein Maß für die Güte des Näherungsverfahrens. KAPITEL 3. DAS FEDERPENDEL 30 τ (x(t), y(t), (t − t0 )) wird lokaler Diskretisierungsfehler an der Stelle (t, x(t)) des betreffenden Verfahrens genannt. Dieser Fehler steht nicht in Konkurenz zu dem relativen Fehler, der bislang angegeben wurde. Vielmehr charakterisiert er den Fehler für einen Schritt und ist nicht dafür zuständig, einen Wert, der durch Aneinanderreihung sehr vieler Schritte entstanden ist, zu bewerten. In Abschnitt 5.1 wird gezeigt, dass die Ordnung des Fehlers auch bei vielen Schritten erhalten bleibt. Will man die Ordnung eines Verfahrens bestimmen, hilft die Taylorentwicklung: x(t) = x(t0 ) + (t − t0 )x0 (t0 ) + (t − t0 )2 00 x (t0 ) + . . . 2 (3.16) Die Ableitungen sind in unserem Fall bekannt. x0 (t) = v(t) k x(t) m k k x(3) (t) = − x0 (t) = − v(t) m m .. . x00 (t) = v 0 (t) = − (3.17) (3.16) lässt sich umformen zu x(t) − x(t0 ) = ∆ (x(t0 ), y(t0 ), (t − t0 )) t − t0 k k = v(t0 ) − Ort(t0 )(t − t0 ) − v(t0 )(t − t0 )2 + . . . 2m 6m (3.18) Für das 1-Schritt-Verfahren entsprechen die ersten 2 Summanden gerade der Funktion φ (siehe Gleichung 3.13). Somit ist der lokale Diskretisierungsfehler τ (x(t0 ), y(t0 ), (t − t0 )) = ∆(x(t0 ), y(t0 ), (t − t0 )) − φ(x(t0 ), y(t0 ), (t − t0 )) k v(t0 ) + . . . = (t − t0 )2 − 6m ⇒ τ (x(t0 ), y(t0 ), (t − t0 )) = O((t − t0 )2 ). (3.19) Allgemein spricht man von einem Verfahren der Ordnung p falls für den lokalen Diskretisierungsfehler τ = O((t−t0 )p ) gilt . Das 1-Schritt-Verfahren ist also ein Verfahren 2. Ordnung für den Ort und eines 1. Ordnung für die Geschwindigkeit. Da der Ort auch von der Geschwindigkeit abhängt, kann nach vielen Schritten der Fehler des Ortes nicht besser sein als der Fehler der Geschwindigkeit. Insgesamt ist dieses Einschrittverfahren also von der Ordnung 1. 3.7 Verfahren höherer Ordnung Das vorherige Kapitel gibt uns die Möglichkeit, auf einfache Art und Weise 1-SchrittVerfahren von höherer Ordnung zu gewinnen. Dafür werden höhere Ableitungen benötigt, die jedoch in unserem Beispiel relativ einfach zu erhalten sind (siehe 3.17). In Tabelle 3.3 werden Ergebnisse eines 1-Schritt-Verfahrens der Ordnung 2, 3 und 4 verglichen. Es wurden mit den bislang üblichen Konstanten die Werte für die Geschwin- 3.8. VERGLEICH MEHRSCHRITT- UND 1-SCHRITT-VERFAHREN Schrittweite 1/10 2−1 /10 2−2 /10 2−3 /10 2−4 /10 2. Ordnung 3.08E-01 7.74E-02 1.91E-02 4.72E-03 1.17E-03 Verhälnis 3.98 4.05 4.04 4.03 3. Ordnung 1.07E-02 1.51E-03 1.99E-04 2.55E-05 3.22E-06 Verhältnis 7.10 7.60 7.81 7.91 4. Ordnung 6.76E-04 3.99E-05 2.41E-06 1.48E-07 9.18E-09 31 Verhältnis Tabelle 3.3: Vergleich Verfahren verschiedener Ordnung digkeit und den Ort zum Zeitpunkt t = 20 vorausgesagt. Dann wurden die Fehler und das Verhältnis zweier aufeinanderfolgender Fehler berechnet. Da die Schrittweite sich jeweils halbiert, ist das Verhältnis bei dem Verfahren 2. Ordnung wie erwartet ungefähr 22 = 4, bei dem Verfahren 3. Ordnung 23 = 8 und bei dem Verfahren 4. Ordnung 24 = 16. Die Fehler und deren Verhältnisse bei der Geschwindigkeit verhalten sich qualitativ gesehen identisch. 3.8 Vergleich Mehrschritt- und 1-Schritt-Verfahren Betrachtet man nun die Ergebnisse eines Mehrschrittverfahrens, wie sie in Tabelle 3.2 dargestellt sind, so sieht man, dass das 1-Schritt-Verfahren von der Ordnung 1 ist. Das heißt, dass sich die Genauigkeit verdoppelt, wenn die Schrittweite halbiert wird. Alle weiteren Verfahren sind den Zahlen nach von der Ordnung 2. Das heißt, dass sich ab einem 3-Schritt-Verfahren die Fehler der Voraussagen nicht mehr besonders verbessern. Einen Grund dafür kann in [16, S.141] nachgelesen werden. Die 1-Schritt-Verfahren höherer Ordnung sind den hier gezeigten Mehrschrittverfahren deutlich in der Regel überlegen. Das liegt vor allem auch daran, dass für die 1-Schritt-Verfahren keine interpolierenden Polynome berechnet werden müssen. Der große Nachteil der 1-Schritt-Verfahren liegt bislang darin, dass man die Ableitung explizit kennen muss. Auf der einen Seite waren die Ableitungen für das Federpendel sehr einfach, auf der anderen Seite ist das jedoch auch kein Wunder, da ja sogar eine analytische Lösung bekannt ist. Im nächsten Kapitel werden kompliziertere Differentialgleichungen betrachtet, so dass das hier geschilderte 1-Schritt-Verfahren verbessert werden muss. 16.95 16.53 16.28 16.15 32 KAPITEL 3. DAS FEDERPENDEL Kapitel 4 Planetenbahnen Der nächster Schritt in Richtung Dreikörperproblem sind die Bahnen von Planeten um eine Sonne, bekannt als das Kepler-Problem (siehe auch Abschnitt 1.2.2 über die Keplerschen Gesetze). Die Erde bewegt sich nach dem ersten Keplerschen Gesetz auf einer Ellipsenbahn um die Sonne. Die Keplerschen Gesetze stellen eine Näherung dar, da nur die Kräfte der Sonne auf die Planeten berücksichtigt werden. Der Fehler ist jedoch gering, da die Masse der Sonne erheblich größer ist als die Masse der Planeten. Für unser Sonnensystem gilt z.B. MSonne = 332000 · MErde . 4.1 Analytische Lösung Das Kepler-Problem lässt sich analytisch lösen, wie in [1, S.104] nachgelesen werden kann. Das heißt, es gibt eine geschlossene Form, die den Ort und die Geschwindigkeit des Planeten angibt. Da die Gravitationskraft konservativ und zentral ist, sind Energiesatz und Flächensatz gültig; die Bewegung findet also in einer ebene Bewegung statt. Um die Bahn zu ermitteln, kann an Stelle von den Bewegungsgleichungen auch gleich von diesen zwei Sätzen (zwei Differentialgleichungen erster Ordnung) ausgegangen werden. Mit den Bezeichnungen aus Abbildung 4.1 und r = |~x| ergibt sich in Polarkoordinaten die potentielle Energie als − Mrm und die kinetische Energie als 1/2m(ṙ 2 + r2 ϕ̇2 ). Somit lautet der Energiesatz (dividiert durch m): 1 M m(ṙ2 + r2 ϕ̇2 ) − =c 2 r (= konst.), (4.1) der Flächensatz aber, der zugleich das zweite Keplersche Gesetz darstellt, hat die Form r2 ϕ̇ = h (= konst.) (4.2) Zu Beginn soll die Bahn r = r(ϕ) des Planeten bestimmt werden. Zu diesem Zweck wird die Zeit aus den obigen Gleichungen eliminiert. Die in Gleichung 4.1 auftretenden Größen ϕ̇ und ṙ können mit Gleichung 4.2 folgendermaßen ausgedrückt werden: ϕ̇ = h , r2 ṙ = dr dr dr h = ϕ̇ = · . dt dϕ dϕ r2 33 (4.3) KAPITEL 4. PLANETENBAHNEN 34 Abbildung 4.1: Werte einer Planetenbahn Setzt man dies in Gleichung 4.1 ein, so ergibt sich " # 2 h2 2M h dr + 2 − = 2c, r2 dϕ r r (4.4) d.h. eine Differentialgleichung für die gesuchte Funktion r(ϕ). Anders geschrieben lautet diese r dr r2 2M h2 2c + = − 2 dϕ h r r oder dϕ = q h/r2 2c + 2M r − h2 r2 (4.5) dr. Die Integration ist einfach, da der Ausdruck unter der Wurzel folgendermaßen umgeformt werden kann. α 2 − u2 , wobei α2 = 2c + M2 , h2 u= M h − . h r α2 ist eine Konstante, u eine neue Integrationsveränderliche: du = Gleichung 4.5 die folgende Form an: dϕ = √ du , − u2 α2 ihr Integral lautet: ϕ + k = arccos u α (k ist eine Konstante). h r 2 dr. So nimmt 4.2. BEWEGUNGSGLEICHUNGEN 35 Aus dieser Gleichung und aus der Bedeutung von u ergibt sich u = α cos(ϕ + k) = M h − , h r woraus r= M h h = − α cos(ϕ + k) 1− h2 /M αh M cos(ϕ + k) folgt. Wir setzen die Abkürzung p= h2 , M = αh M und wählen die Konstante k zu Null, indem wir den Winkel ϕ vom maximalen Wert von r aus messen (dann ist nämlich für ϕ = 0 : cos(ϕ + k) = 1, also k = 0. Somit ergibt sich die Bahngleichung r= p . 1 − cos(ϕ) Dies bedeutet, wie aus der analytischen Geometrie bekannt, einen Kegelschnitt, von dessen Brennpunkten einer der Anfangspunkt des Polarkoordinatensystem, d.h. der Massenpunkt M ist. Dieser Satz ist - am Sonnensystem angewandt - das erste Keplersche Gesetz. Die Bahn ist eine Ellipse, Parabel oder Hyperbel, je nachdem, ob die numerische Exzentrizität kleiner, gleich oder größer als 1 ist. Um in den folgenden Kapiteln die Ergebnisse der numerischen Lösungsverfahren mit den exakten Ergebnissen vergleichen zu können, benötigen wir außer der Bahngleichung noch die Zeitabhängigkeit der Koordinaten r und ϕ. Aus dem Flächensatz r 2 ϕ̇ = h (4.2) folgt nämlich die dem Winkel ϕ entsprechende Zeit: t= 1 h Z ϕ r2 dϕ = t(ϕ). ϕ0 Die Umkehrfunktion liefert ϕ = ϕ(t), und damit ist, wegen r = r(ϕ) = r[ϕ(t)], auch r als Funktion der Zeit bestimmt; Das Problem ist also im Prinzip gelöst. Das obige Integral kann aber in geschlossener expliziter Form nicht ausgedrückt werden. Zur Bahnbestimmung kann ein numerisches Integrationsverfahren wie die SimpsonRegel verwendet werden (siehe Beispiel 2.3 in Abschnitt 2.4). Gegeben ist aber nicht eine Integrationsgrenze sondern eine Zeit. Das erfordert jedoch nur kleine Änderungen im Algorithmus. 4.2 Bewegungsgleichungen Das Kepler-Problem ähnelt dem Federpendel, spielt sich jedoch im 2-dimensionalen ab. Die Differentialgleichungen der Bewegung erhält man erneut, indem man alle Kräfte, die auf den Planeten wirken, addiert und diese Summe mit dem Produkt aus der Beschleunigung und der Planetenmasse gleich setzt. mM~x F~g = − |~x|3 (4.6) KAPITEL 4. PLANETENBAHNEN 36 Die Gleichung ist vektorwertig. Wie in Kapitel 4.1 beschrieben, bewegt sich der Planet jedoch in einer festen Ebene. Für die Komponenten der Bewegungsgleichung gilt dann ẍi = Fx i M x p i = −p 2 2 m 2 2 x0 + x21 x +x 0 1 M = − 3 xi , r (4.7) i = 1, 2 Diese Differentialgleichung sind komplizierter als die Gleichungen des Federpendels (siehe Gleichung 3.2 auf Seite 24). 4.3 Erste Planetenbahnen Die Ergebnisse aus Kapitel 3.3 können auch für Planetenbahnen verwendet werden, indem man die 2 Komponenten, aus denen sich sowohl der Ort als auch die Geschwindigkeit zusammensetzen, getrennt betrachtet. Der folgende Algorithmus skizziert die Vorgehensweise: %Abstand zum Zeitpunkt t0 r=BerechneAbstand(Ort(0),Ort(1)) % Komponente 0 Geschw(0) = VorraussageGeschw1 (r,t) Ort(0) = VorraussageOrt1 (r,t) % Komponente 1 Geschw(1) = VorraussageGeschw2 (r,t) Ort(1) = VorraussageOrt2 (r,t) Die Funktionen zur Voraussage von Ort und Zeit haben dabei die folgende Form. v(0, t) = v(0, t0 ) − (t − t0 ) x(0, t0 ) r2 x(0, t) = x(0, t0 ) + (t − t0 ) · v(0, t0 ) − (t − t0 )2 x(0, t0 ) 2 r2 für die Komponente 0, und v(1, t) = v(1, t0 ) − (t − t0 ) x(1, t0 ) r2 x(1, t) = x(1, t0 ) + (t − t0 ) · v(1, t0 ) − (t − t0 )2 x(1, t0 ) 2 r2 für die Komponente 1. Da die Diagramme 2-dimensional sind, kann der Ort nicht mehr in Abhängigkeit von der Zeit aufgetragen werden. In Abbildung 4.2 sind die Bahnen eines Planeten dargestellt. Die zu Grunde liegenden Daten 5 0 MSonne = 500, ~x0 = und ~v0 = 0 10 sind gerade so gewählt, dass die Bahn eine Kreisbahn ergibt. In Abbildung 4.3 ist die x0 -Komponente gegen die Zeit aufgetragen. Das Diagramm erinnert an die Schwingung des Pendels, die in Kapitel 3 untersucht wurde (siehe Abbildung 3.2). Im Falle der Planetenbahnen treten jedoch zwei Effekte auf, die die Ergebnisse der numerischen Integration von dem exakten Ort abweichen lassen: 4.3. ERSTE PLANETENBAHNEN 37 6 b0.005 0.01 Exakt b b e 4 2 b 0 u b bb b b −2 −4 −6 −6 b b b −4 −2 0 2 4 6 Abbildung 4.2: Planetenbahn 1. Der Abstand des Planeten von der Sonne, der bei einer Kreisbahn konstant sein muss, wird immer größer. 2. Die Planeten fallen gegenüber dem exakten Ort mit der Zeit zurück. Sie brauchen also immer länger, um die Sonne einmal komplett zu umrunden. Die Gründe für diese Effekte sind jedoch anderer Art als die beim Federpendel, auch wenn zumindest der erste dem Effekt gleicht, der beim Federpendel zu beobachten war (vergleiche Abbildung 3.2, Seite 26, mit Abbildung 4.3) Zuerst werden die ersten Integrationsschritte betrachtet. Die Situation sei wie in Abbildung 4.2. Dann ist die Näherungslösung nach dem ersten Schritt links oberhalb der exakten Lösung. Die Beschleunigungen sowohl in x1 –Richtung als auch in −x0 –Richtung werden als zu groß angenommen. Dies entspricht zunächst nicht dem Eindruck, der in der Aufzählung dargestellt ist. Nachdem 1/4 der Kreisbahn zurückgelegt ist, fällt die genäherte Bahn jedoch hinter der exakten Bahn zurück. Der Grund ist der, dass die genäherte Bahn sich, wie oben beschrieben, weiter vom Gravitationszentrum entfernt haben. Der Planet erfährt also eine geringere Kraft und kommt nicht mehr so gut in die Kurve wie der tatsächliche Planet es kann. Dieser Vorgang wiederholt sich in jedem Viertel, so dass die Näherungslösung mit der Zeit immer weiter nach außen gedrängt wird. Dadurch erhöht sich die Umlaufdauer und die Näherungslösung fällt immer stärker hinter die exakte Lösung zurück. Insgesamt bietet das 1-Schritt-Verfahren der Ordnung 1 also ein schlechtes Bild. Selbst bei sehr kleinen Schrittweiten wird der Fehler schon nach kurzer Zeit so groß, dass er nicht mehr toleriert werden kann. KAPITEL 4. PLANETENBAHNEN 38 8 0.005 0.01 Exakt 6 4 2 0 −2 −4 −6 −8 0 2 4 6 8 10 Abbildung 4.3: Zeitabhängigkeit der x0 Komponente 4.4 Polarkoordinaten Nun werden die Bewegungsgleichungen in Polarkoordinaten aufgestellt. Gleichung 4.7 p kann mit dem Abstand r = x20 + x21 und dem Winkel ϕ folgendermaßen geschrieben werden. −M cos(ϕ))/r 2 ẍ0 Fx0 /m = = −M sin(ϕ)/r 2 Fx1 /m ẍ1 Um die Differentialgleichung komplett nach Polarkoordinaten zu transformieren, kann man wie folgt vorgehen. Mit der Transformationsvorschrift x0 = r cos ϕ und x1 = r sin ϕ gilt ! d d2 ẍ0 2 (r cos ϕ dt dt (ṙ cos ϕ − r ϕ̇ sin ϕ) = = 2 d d ẍ1 dt (ṙ sin ϕ + r ϕ̇ cos ϕ) dt2 (r sin ϕ r̈ cos ϕ − ṙϕ̇ sin ϕ − ṙϕ̇ sin ϕ − rϕ̈ sin ϕ − rϕ̇2 cos ϕ = r̈ sin ϕ + ṙϕ̇ cos ϕ + ṙϕ̇ cos ϕ + rϕ̈ cos ϕ − rϕ̇2 sin ϕ r̈ cos ϕ − 2ṙϕ̇ sin ϕ − rϕ̈ sin ϕ − rϕ̇2 cos ϕ = r̈ sin ϕ + 2ṙϕ̇ cos ϕ + rϕ̈ cos ϕ − rϕ̇2 sin ϕ. Damit kann man jetzt zwei Differentialgleichungen aufstellen. Da bei Polarkoordinaten keine Vektorschreibweise üblich ist, werden die Gleichungen als zwei einzelne Gleichungen betrachtet. −M cos(ϕ)/r 2 = r̈ cos ϕ − 2ṙϕ̇ sin ϕ − rϕ̈ sin ϕ − rϕ̇2 cos ϕ −M sin(ϕ)/r 2 = r̈ sin ϕ + 2ṙϕ̇ cos ϕ + rϕ̈ cos ϕ − rϕ̇2 sin ϕ (4.8) Sie lassen sich relativ leicht in eine gewohnte Form umwandeln. Zuerst wird ϕ̈ eliminiert, indem man die erste Gleichung durch sin ϕ und die zweite durch cos ϕ dividiert 4.5. ELLIPSENBAHNEN 39 und dann beide addiert. Dann eliminiert man r̈ indem die erste Gleichung durch cos ϕ und die zweite durch sin ϕ dividiert wird und dann die Gleichungen voneinander abzieht. Dadurch erhält man zwei neue Gleichungen: ϕ̈ = −2ṙϕ̇/r r̈ = rϕ̇2 − M/r 2 (4.9) Diese Information kann auch auf einem kürzeren und direkteren Weg erreicht werden [11, S.29]. So besteht die radiale Beschleunigung aus zwei Termen, nämlich der zweiten Ableitung der Radialkomponente (r̈) und der Zentripetalbeschleunigung (−r φ̇2 ). Setzt man diese Beschleunigungen nun mit der Gravitationskraft (−M/r 2 ) gleich, so erhält man die Gleichung M r̈ − rϕ̇2 = − 2 . (4.10) r Die Differentialgleichung für die Winkelkomponente ϕ ergibt sich ebenfalls einfach. Die zeitliche Ableitung der Gleichung r 2 ϕ̇ = c, welche die Erhaltung des Drehimpulses ausdrückt, ergibt 2ṙϕ̇ + rϕ̈ = 0. (4.11) (4.10) und (4.11) entsprechen damit den Gleichungen in (4.9). Mit den neuen Variablen ω = ϕ̇ und ρ = ṙ ergibt sich dann das folgende System von Differentialgleichungen. ω̇ = −2ρω/r ϕ̇ = ω = φ1 (r, ω, ρ) ρ̇ = rω 2 − M/r 2 = φ0 (r, ω MSonne ) ṙ = ρ (4.12) Der Winkel und Abstand zu einem späteren Zeitpunkt t lassen sich nun voraussagen. ω(t) = ω(t0 ) + (t − t0 )φ1 (r, ω, ρ) (t − t0 )2 φ1 (r, ω, ρ) 2 ρ(t) = ρ(t0 ) + (t − t0 )φ0 (r, ω MSonne ) ϕ(t) = ϕ(t0 ) + (t − t0 )ω(t0 ) + r(t) = r(t0 ) + (t − t0 )ρ(t0 ) + (4.13) (t − t0 )2 φ0 (r, ω MSonne ) 2 Zuerst wird eine Bahn mit den selben Anfangswerten wie im vorigen Kapitel berechnet. Diese errechnete Planetenbahn entspricht der exakten Bahn. Für eine Kreisbahn gilt Zentripetalkraft = Gravitationskraft. Wenn man diese Formel umformt und in φ 0 aus den Gleichungen 4.12 einsetzt, so gilt φ0 = 0, und zwar permanent. ρ und r verbleiben also permanent in ihren Startwerten. Wegen ρ = 0 ist auch φ1 = 0. Also ändert sich auch ω nicht und es gilt ϕ = ωt. Das beschreibt den exakten Kreis. 4.5 Ellipsenbahnen Die kreisförmige Planetenbahn ist ein Spezialfall. Im Allgemeinen bewegen sich Planeten auf Ellipsenbahnen um ihre Sonne. Abbildung 4.4 zeigt einige solcher Bahnen mit einer Schrittweite 0.01. Der Startpunkt ist der gleiche wie zuvor. Nur die Geschwindigkeit wurde heruntergesetzt. Bei der Kreisbahn betrug sie v = 10. Je kleiner die Anfangsgeschwindigkeit, desto kleiner ist auch der minimale Abstand des Planeten von KAPITEL 4. PLANETENBAHNEN 40 5 Kreis v0 = 9 v0 = 8 v0 = 7 4 3 2 1 0 u −1 −2 −3 −4 −5 −6 −4 −2 0 2 4 6 8 Abbildung 4.4: Vergleich verschiedener Vorbeiflüge, Einschrittverfahren der Sonne. Wichtiger ist jedoch, dass im gleichen Zuge die Näherungskurve immer schlechter wird. Kommt der Planet bei v = 8 nach einer Umkreisung fast wieder an seinem Startpunkt an, so wird der Fehler bei geringeren Startgeschwindigkeiten bereits nach einer Umkreisung immens. Der Grund dafür ist, dass kleine Fehler der Planetenbahn in der Nähe der Sonne stärkere Auswirkungen haben als in großer Entfernung. Um zu erfassen, warum das so ist, wird die Beschleunigung a = F/m betrachtet. Sie ist die Größe, die von außen (von der Sonne) auf den Planeten einwirkt. Ein Maß für den Einfluss kleiner Fehler des Abstands ist die Ableitung der Beschleunigung nach dem Abstand da/dr. Sie drückt aus, welche Auswirkungen kleine Änderungen des Abstands auf die Beschleunigung haben und ist eine Funktion vom Typ 1/r 3 . Das bedeutet, dass sich bei halbem Abstand kleine Fehler 8-fach auswirken. In Abschnitt 5.1 und 5.2 werden diese Effekte ausführlich behandelt. Die Planetenbahn neigen dazu, eine Schnecke nach außen zu vollziehen. Dieser Trend wird also noch verstärkt, und zwar um so mehr, desto näher der Planet an der Sonne vorbei fliegt. Sicherlich kann man diesem Problem begegnen, indem man die Schrittweite insgesamt verkleinert. Zuerst wird jedoch ein Verfahren höherer Ordnung entwickelt. 4.6 Verfahren 2. Ordnung Mit den Polarkoordinaten können wir relativ einfach das Verfahren anwenden, das in Kapitel 3.7 für das Federpendel angewandt wurde. Indem Ableitungen der Funktionen φ0 und φ1 gebildet werden, kann pro Ableitung die Ordnung des Verfahrens um 1 4.6. VERFAHREN 2. ORDNUNG 41 erhöht werden. d 6ρ2 ω + 2MSonne ω/r − 2r 2 ω 3 φ1 = dt r2 d 2ρMSonne φ0 = − 3ρω 2 dt r3 Der Rechenaufwand steigt dadurch um ca. 200%. Das heißt, es sind pro Schritt wesentlich mehr Rechenschritte durchzuführen. Andererseits lohnt sich der Aufwand. Um z.B. bei einer Anfangsgeschwindigkeit v = 8 eine auch nur annähernd genauso gute Bahn zu erhalten, benötigt man die 10-fache Anzahl an Schritten. Obwohl das 2-Schritt-Verfahren einen großen Fortschritt darstellt, sind Bahnen mit Startgeschwindigkeiten von v = 5 bereits mit bloßem Auge erneut fehlerhaft. Hier ist ein Verfahren notwendig, das dem speziellen Problem der großen Fehler in der Nähe der Sonne entgegen tritt. Deshalb wird nun ein Verfahren mit Schrittweitensteuerung vorgestellt. Solch exakt v0 = 8 v0 = 5 4 2 0 u −2 −4 −6 −4 −2 0 2 4 6 Abbildung 4.5: Vergleich verschiedener Vorbeiflüge, Zweischrittverfahren eine Vorgehensweise wurde bereits im Kapitel 2.6 über Integration verwendet. Im Gegensatz zur Integration ist beim Lösen von Differentialgleichungen die Funktion bzw. die Bahn nicht bekannt. Also müssen alle Entscheidungen über die Länge des nächsten Schritts aus bisherigen Daten vorausgesagt werden. Der neue Algorithmus weist im Vergleich zum bisherigen Algorithmus nur den Unterschied auf, dass vor jedem Schritt die neue Schrittweite berechnet wird. Als Maß dient dabei ein Bruchteil des maximale 2 /M Abstand des Planeten von der Sonne. Er ergibt sich als rmax = h1− . In allen bisherigen Beispielen war das gerade der Anfangsabstand. Dann wird zuerst die folgende Funktion verwendet. r(t0 ) t(r(t0 ), rmax ) − t0 = c rmax Für die Konstante kann eine Schrittweite in der Dimension der bisher benutzten Schrittweite herangezogen werden. Die Schrittweite ist dann in der Nähe des am weitesten KAPITEL 4. PLANETENBAHNEN 42 entfernten Punktes maximal (ungefähr c) und in der Nähe der Sonne minimal. Die Funktion zur Steuerung der Schrittweite ist vom Typ 1/r, da es nicht sinnvoll ist, in der Nähe der Sonne genauer zu rechnen als anderswo. Da ein Verfahren 2. Ordnung benutzt wird, verhält sich der Fehler wie 1/r 2 und gleicht somit die erhöhte Fehleranfälligkeit in der Nähe der Sonne aus. Vergleicht man eine Berechnung mit Schrittweitensteuerung und der Konstanten c mit einer Berechnung mit Schrittweite c, so fällt auf, dass die erste deutlich mehr Schritte braucht, wenn der Planet in die Nähe der Sonne kommt. Soll mit der alten Methode jedoch eine vergleichbare Genauigkeit erreicht werden, so werden insgesamt mehr Schritte benötigt. Tabelle 4.1 zeigt Ergebnisse, die Schritte 333 665 1330 2659 5317 200 400 800 1600 3200 x0 2.22993 2.31091 2.33272 2.33839 2.33983 -66.44056 5.22725 2.74027 2.39211 2.34731 x1 2.02602 1.91963 1.89382 1.88743 1.88583 -13.67878 0.77277 1.81527 1.87284 1.88237 Fehler x0 4.72E-02 1.26E-02 3.24E-03 8.26E-04 2.08E-04 2.94E+01 1.23E+00 1.71E-01 2.21E-02 2.99E-03 Fehler x1 7.46E-02 1.82E-02 4.52E-03 1.13E-03 2.81E-04 8.26E+00 5.90E-01 3.71E-02 6.61E-03 1.55E-03 Tabelle 4.1: Vergleich mit und ohne Schrittweitensteuerung mit (im oberen Bereich) und ohne (im unteren Bereich) Schrittweitensteuerung erzielt wurden. Vergleicht man z.B. die 3. und die 10. Zeile, so wird klar, dass für etwa die gleiche Genauigkeit beim Verfahren mit Schrittweitensteuerung weniger als die Hälfte der Schritte benötigt werden. Eine deutlich bessere aber auch aufwendigere Schrittweitensteuerung wird in Abschnitt 5.1 beschrieben. 4.7 Verfahren höherer Ordnung Möchte man Verfahren höherer Ordnung, so leitet man einfach die bislang verwendeten Funktionen weiter ab. In diesem Fall wäre das sogar eine mögliche Alternative, da die Ableitungen noch überschaubar sind. Betrachtet man das Problem in kartesischen Koordinaten, so wird klar, warum eine 3. , 4. und 5. Ableitung einen zu großen Entwicklungs- und Rechenaufwand darstellen können. Davon abgesehen müssen die Ableitungen analytisch und nicht numerisch gewonnen werden. Ein numerisches Programm wie z.B. Matlab ist von sich aus nicht dazu fähig. Die Verfahren von Heun und Kollatz zeigen, wie man die Probleme umgehen kann und bilden eine Vorstufe zum Verfahren von Runge und Kutta. 4.7.1 Theorie Um solch ein Verfahren entwickeln zu können, muss die Theorie aus Kapitel 3.6 (S. 29) etwas verallgemeinert werden. Mit den gleichen Bezeichnungen ist die Taylorentwicklung einer Differentialgleichung z 0 (t) = f (t, z(t)) z(x + h) = z(x) + hz 0 (x) + h2 00 z (x) + . . . 2 4.7. VERFAHREN HÖHERER ORDNUNG 43 Nun ist aber wegen z(x) = y und z 0 (t) = f (t, z(t)). d f (t, z(t))|t=x = fx (t, z(t))|t=x + fy (t, z(t))z 0 (t)|t=x dx = fx (x, y) + fy (x, y)f (x, y), z 00 (x) = z (3) (x) = fxx (x, y) + 2fxy (x, y)f (x, y) + fyy (x, y)f (x, y)2 + fy (x, y)z 00 (x) .. . und daher h 00 z (x) + . . . 2! h = f (x, y) + [fx (x, y) + fy (x, y)f (x, y)] + . . . 2 ∆(x, y; h) = z 0 (x) + (4.14) Nun gilt es erneut, eine Funktion Φ(x, y; h) zu finden, so dass ∆(x, y; h) − Φ(x, y; h) von möglichst großer Ordnung ist. Für den Ansatz Φ(x, y; h) := a1 f (x, y) + a2 f (x + p1 h, y + p2 hf (x, y)) , (4.15) erhält man eine Taylorentwicklung von Φ. Φ(x, y; h) = (a1 + a2 )f (x, y) + a2 h[p1 fx (x, y) + p2 fy (x, y)f (x, y)] + O(h2 ) (4.16) Der Vergleich von (4.14) und (4.16) ergibt die Bedingungen a1 + a2 = 1, a 2 p1 = 1 , 2 a 2 p2 = 1 2 für die noch zu wählenden Konstanten des Ansatzes. Mit den Werten a1 = 1 , 2 a2 = 1 , 2 p1 = 1, p2 = 1 erhält man das Verfahren von Heun, das ein Verfahren 2. Ordnung ist. Eine andere Lösung ist 1 1 (4.17) a1 = 0, a2 = 1, p1 = , p2 = 2 2 die zu dem modifizierten Euler-Verfahren von Collatz führen. Diese Art von 1-SchrittVerfahren hat somit den großen Vorteil, dass keine Ableitungen explizit ausgerechnet werden müssen. Außerdem ist der Rechenaufwand im Allgemeinen sehr klein. Bei beiden Verfahren muss im Wesentlichen nur die Funktion f (x, y) zwei mal ausgewertet werden. Beispiel 4.1 Das modifizierte Euler-Verfahren nach (4.17) wird anhand eines einfachen Beispiels erläutert. Die Differentialgleichung y 0 = f (x, y) = x − 2x y √ mit den Anfangswerte y(0) = 1 hat die exakte Lösung 2x + 1. In Tabelle 4.2 wird eine Rechnung mit der Schrittweite h = 0.1 vorgeführt. Der Rechenaufwand besteht KAPITEL 4. PLANETENBAHNEN 44 x 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 y 1.00000 1.09548 1.18330 1.26506 1.34186 1.41452 1.48364 1.54970 1.61309 1.67411 1.73301 f (x, y) 1.00000 0.91291 0.84526 0.79077 0.74567 0.70756 0.67482 0.64630 0.62120 0.59891 0.57895 x + h2 0.05000 0.15000 0.25000 0.35000 0.45000 0.55000 0.65000 0.75000 0.85000 0.95000 1.05000 y + h2 f (x, y) 1.05000 1.14112 1.22556 1.30460 1.37914 1.44989 1.51738 1.58202 1.64415 1.70405 1.76196 Φ(x, y; h) 0.95476 0.87822 0.81759 0.76803 0.72656 0.69122 0.66064 0.63386 0.61018 0.58906 0.57011 y (exakt) 1.00000 1.09545 1.18322 1.26491 1.34164 1.41421 1.48324 1.54919 1.61245 1.67332 1.73205 Tabelle 4.2: Schema für das modifizierte Euler-Verfahren x 0 0.01 0.02 0.04 0.08 mod. Euler-Verfahren y(2) Fehler Verhältnis 2.236068 0 2.236126 2.611E-05 2.236303 1.050E-04 4.0236 2.237018 4.250E-04 4.0454 2.239948 1.735E-03 4.0835 y(2) 2.236068 2.235821 2.235079 2.232096 2.220124 Ableitung Fehler 0 1.103E-04 4.425E-04 1.776E-03 7.130E-03 Tabelle 4.3: Ergebnis eines modifizierten Euler-Verfahren Verhältnis 4.0096 4.0150 4.0138 4.8. RUNGE-KUTTA-VERFAHREN N -TER ORDNUNG 45 aus 7 Rechenoperationen und dem zweimaligen Auswerten der Funktion f (x, y). Bei einem Verfahren 2. Ordnung, wie es im Abschnitt 4.6 (S.40) beschrieben wird, müssen neben vergleichbaren Rechenoperationen einmal f (x, y) und einmal f 0 (x, y) ausgewertet werden. Dabei ist die Ableitung im Normalfall komplexer und langwieriger auszuwerten als die Stammfunktion. Von der Tatsache, dass die Ableitung erstmal bestimmt werden muss, mal ganz abgesehen. Verfahren wie das von Heun und das modifizierte Euler-Verfahren stellen somit bei gleicher Ordnung einen deutlich geringeren Aufwand dar. 4.8 Das Runge-Kutta-Verfahren für Differentialgleichungen n-ter Ordnung Das Runge-Kutta-Verfahren ist ein viel benutztes genaues Integrationsverfahren. In den folgenden Kapiteln werden die allgemeinen Formeln hergeleitet. 4.8.1 Der allgemeine Ansatz Es sei eine Differentialgleichung n-ter Ordnung vorgelegt y (n) = f x, y, y 0 , y 00 , . . . , y (n−1) , (4.18) und es sei die Lösungsfunktion y(x) gesucht, die an der Stelle x = x0 die vorgegebenen Anfangswerte (ν) y0 = y (ν) (x0 ), (ν = 0, 1, 2, . . . , n − 1) (4.19) annimmt. Es sollen Näherungswerte für y und die Ableitungen y (ν) an einer um die Schrittweite h entfernten Stelle x1 = x0 + h aufgestellt werden. Ganz grobe Näherungen würde man aus den Anfangswerten mit Hilfe der nach (n−1) (ν) dem Gliede y0 abgebrochenen Taylor-Entwicklung erhalten, und zwar für y1 den Wert (ν) y0 + h (ν+1) h2 (ν+2) hn−ν−1 (n−1) y0 + y0 + ··· + y = Tν (1), 1! 2! (n − ν − 1)! 0 wenn die Abkürzung Tν etwas allgemeiner eingeführt wird als (ν) Tν (α) = y0 + αh (ν+1) (αh)2 (ν+2) y + y + ··· 1! 0 2! 0 (αh)n−ν−1 (n−1) + y (n − ν − 1)! 0 (4.20) (ν = 0, 1, 2, . . . , n − 1). Das entspricht dem Euler-Verfahren für den Fall f 0 = f (x, y) wie es in Beispiel 4.1 erläutert wurde. Um bessere Näherungen zu erhalten, werden zu den Taylor-Ausdrücken noch Korrekturen k (ν) hinzugefügt, d.h., es werden Größen k, k 0 , k 00 , . . . , k (n−1) aufgestellt derart, dass (mit einem sich später als zweckmäßig erweisenden Faktor ν!h −ν ) (ν) y1 = Tν (1) + ν! (ν) k hν (ν = 0, 1, . . . , n − 1) (4.21) KAPITEL 4. PLANETENBAHNEN 46 ein möglichst gute Näherung für die ν-te Ableitung y (ν) (x1 ) darstellt. Es werde zunächst ein allgemeiner Ansatz beschrieben, dem sich die meisten bekannten Näherungsverfahren als Spezialfälle unterordnen. Die Zuwachse k (ν) werden durch Linearkombinationen aus gewissen Hilfsgrößen k1 , k2 , . . . , kr gebildet k (ν) = r X γ ν % k% , %=1 (ν = 0, 1, . . . , n − 1) (4.22) wobei man die k% als Funktionswerte f an geeigneten Zwischenstellen bestimmt: hn f (x0 , T0 (0), T1 (0), . . . , Tn−1 (0)) , n! hn k2 = f (x0 + α1 h, T0 (α1 ) + a10 k1 , T1 (α1 ) + a11 k1 , . . . , Tn−1 (α1 ) + a1,n−1 k1 ) , n! n h f (x0 + α2 h, T0 (α2 ) + a20 k1 + b20 k2 , . . . , Tn−1 (α2 ) + a2,n−1 k1 + b2,n−1 k2 ) . k3 = n! .. . (4.23) k1 = Durch Einsetzen der Taylor-Entwicklung Tν (α% ) erreicht man, dass man sich mit den Werten x = x0 + α% h; y = T0 (α% ); y 0 = T1 (α% ); . . . y (n−1) = Tn−1 (α% ) in der Nähe der richtigen Lösungskurve befinden wird. Die noch verfügbaren Konstanten α% , αν % , bν % , . . . , γν % sind nun so zu bestimmen, dass die Taylor-Entwicklungen (ν) der Werte y1 bis auf Glieder möglichst hoher Ordnung mit den Taylor-Entwicklungen (ν) (ν) von y1 (x1 ) übereinstimmen; ausführlicher: Die Taylor-Entwicklung von y1 (x1 ) lautet mit Benutzung der Abkürzung (4.21) hn−ν n hn−ν+1 (n+1) y0 + y + ··· (n − ν)! (n − ν + 1)! 0 # " (n) (n+1) n hn y 0 n + 1 hn+1 y0 ν! + + ··· = Tν (1) + ν ν ν h n! (n + 1)! y (ν) (x1 ) = Tν (1) + (4.24) Die Korrekturgrößen k (ν) sind nun so zu wählen, dass bei ihrer Taylor-Entwicklung die Ausdrücke (4.21) bis (4.24) bis zu Gliedern möglichst hoher Potenz übereinstimmen. 4.8.2 Der spezielle Runge-Kutta-Ansatz Im Folgenden soll ein spezieller Ansatz, der sich wegen einfacher Koeffizienten und eines symmetrischen Aufbaus durchgesetzt hat, durchgeführt werden. Hierbei wurde der Grundgedanke von C. Runge für Gleichungen 1. Ordnung von Heun und Kutta genauer ausgeführt, dann von Nyström auf Gleichungen 2. Ordnung übertragen und schließlich von Zurmühl zuerst auf Gleichungen 3. Ordnung und dann auf Gleichungen n-ter Ordnung erweitert [3]. Es werden bei diesem Ansatz vier Werte k1 , k2 , k3 , k4 gebildet und die Abszissen x0 , x0 + h2 , x0 + h mit α1 = α2 = 1/2 zugrunde gelegt. 4.8. RUNGE-KUTTA-VERFAHREN N -TER ORDNUNG 47 Über die Konstanten aν % , bν % , . . . wird in der Weise verfügt, dass die Glieder sich an die Taylor-Entwicklung anschließen, und zwar hn f [x0 , T0 (0), T1 (0), . . . , Tn−1 (0)] , n! " h k1 hn n 1!k1 n 1 1 1 2!k1 f x0 + , T0 + n , T1 + , T + ,..., k2 = 2 n−1 n−2 n! 2 2 2 2 h 2 h2 1 2 2 2 # 1 (n − 2)!k1 n 1 n!k1 , Tn−1 Tn−2 + + n−1 , n−2 2 4hn−2 2 2h " 1 1 1 hn h 2!k1 n 1!k1 n k1 k3 = f x0 + , T0 , T ,..., + n , T1 + + 2 n−1 n−2 1 2 2 2 n! 2 2 2 2 h 2 h2 # 1 n n!k2 1 (n − 2)!k1 + , Tn−1 + n−1 , Tn−2 2 4hn−2 2 2h n−2 " hn n 1!k3 n 2!k3 k4 = f x0 + h, T0 (1) + k3 , T1 (1) + , T2 (1) + ,..., n! 1 h 2 h2 # n!k3 n (n − 2)!k3 , Tn−1 (1) + n−1 . Tn−2 (1) + hn−2 h n−2 k1 = (4.25) Es unterscheiden sich also k2 und k3 nur dadurch, dass das letzte Argument in f ein anderes ist; hängt f nicht explizit von y (n−1) ab, so ist k2 = k3 . 4.8.3 Aufstellen der Runge-Kutta-Formeln (n−1) Nun werden die Größen k1 bis k4 in Taylorsche Reihen an der Ausgangsstelle x0 , y0 , y00 , . . . , yo n entwickelt. k1 ist unmittelbar hn! f . Die Entwicklung der weiteren kν aber ist eine mühsame Rechnung, weil sich im Allgemeinen alle n + 1 Argumente von f ändern; es ist ja z.B. 2 3 n! h 0 h 00 h 000 h k = f x + , y + y + y + y + ··· 2 0 0 0 0 0 hn 2 2 4 · 2! 8 · 3! hn , y 0 + y000 + · · · , · · · . +f n 2 · n! 0 In der Entwicklung der rechten Seite werden nur die Glieder bis h3 einschließlich berücksichtigt. Für allgemeines n ergeben sich die Taylor-Entwicklungen für die k 1 bis k4 (siehe [3][S. 63]). Aus den Werten kν werden nun durch Linearkombination nach (4.22) die Zuwachse k (0) , k (1) , . . . , k (n−1) gebildet, mit denen sich nach (4.21) die neuen Werte von y und den Ableitungen y (ν) berechnen. k (ν) = n+2 1 (n − ν)2 k1 + 2(n − ν)(k2 + k2 ) + (2 − (n − ν)) k4 . ν (n + 1 = (n + 2) (4.26) KAPITEL 4. PLANETENBAHNEN 48 Man erhält mit diesen Zuwachsen eine Übereinstimmung der Taylor-Entwicklung bei y, y 0 h, . . . , y (n−2) y (n−1) h(n−2) bis zu Gliedern mit h(n+2) einschließlich, (n − 2) ! h(n−1) bis zu Gliedern mit h(n+3) einschließlich, (n − 1)! (4.27) Das Runge-Kutta-Verfahren ist somit für die Ordinate y für n > 1 ein Verfahren (n + 2)ter Ordnung und für n = 1 ein Verfahren vierter Ordnung. 4.8.4 Praktische Durchführung des Runge-Kutta-Verfahrens Da in dieser Arbeit vornehmlich Differentialgleichungen 2-ter Ordnung betrachtet werden, beziehen sich die folgenden Angaben auf den Fall n = 2. Es liegt also nach (4.18) ein Differentialgleichung y 00 = f (x, y, y 0 ) (4.28) mit den Anfangswerten y(x0 ) := u0,0 y 0 (x0 ) = u1,0 und (4.29) vor. Die Taylor-Ausdrücke ergeben sich dann übersichtlich zu t0 (α) = u0 + αhu1 (4.30) t1 (α) = u1 . Dann wird aus (4.25) k1 = k2 = = k3 = = k4 = h2 f (x0 , u0 , u1 ) 2 2 h h f x0 + , t0 (1/2) + 2 2 h2 h f x0 + , t0 (1/2) + 2 2 2 h h f x0 + , t0 (1/2) + 2 2 2 h h f x0 + , t0 (1/2) + 2 2 2 h f (x0 + h, t0 (1) + k3 , 2 k1 , 22 k1 , 4 k1 , 22 k1 , 4 k1 2 2 1 t1 (1/2) + k1 k2 2 t1 (1/2) + 2 1 t1 (1/2) + k2 t1 (1/2) + (4.31) t1 (1) + 2k3 ) Die neuen Werte u0,1 und u1,1 findet man dann mit u0,1 = t0 (1) + k und u1,1 = t1 (1) + k (1) h (4.32) Das Verfahren erfolgt demnach in folgenden Schritten: 1. Die Taylor-Ausdrücke tν (1/2), tν (1), ν = 1, 2 werden nach (4.30) berechnet. 2. Nach (4.31) werden mit f die Werte k1 , k2 , k3 , k4 berechnet. 4.8. RUNGE-KUTTA-VERFAHREN N -TER ORDNUNG 49 3. Nach (4.32) werden dann die neuen Werte vν,1 berechnet, welche für den nächsten Schritt als neue Anfangswerte benutzt werden. Beispiel 4.2 (Das Federpendel) Am Beispiel des Federpendels können die soeben hergeleiteten Formel getestet werden. Die Differentialgleichung ist dann ẍ(t) = − k x m (4.33) Mit k/m = 4, den Startwerten ẋ0 = 0, x0 = 5 und der Schrittweite h = 0.1 ergibt sich die in Tabelle 4.4 aufgeführte Rechnung. Da (4.33) nicht von ẋ abhängt, sind k 2 und k3 gleich. t 0 0.1 0.2 0.3 0.4 u0 5.00000 4.97500 4.97513 4.90050 4.90033 4.77650 4.77711 4.60612 4.60530 4.38756 4.38865 4.12810 4.12666 3.82369 3.82521 3.48549 3.48349 u1 0.00000 -1.98672 -3.89429 -5.64668 -7.17401 t0 (1/2) t0 (1) t1 (1/2) t1 (1) t0 (1/2) t0 (1) t1 (1/2) t1 (1) t0 (1/2) t0 (1) t1 (1/2) t1 (1) t0 (1/2) t0 (1) t1 (1/2) t1 (1) 5.00000 5.00000 0.00000 0.00000 4.80100 4.70166 -1.98672 -1.98672 4.41059 4.21587 -3.89429 -3.89429 3.84433 3.56199 -5.64668 -5.64668 3.12479 k1 bis k4 -0.10000 -0.09950 -0.09950 -0.09801 -0.09801 -0.09553 -0.09554 -0.09212 -0.09211 -0.08775 -0.08777 -0.08256 -0.08253 -0.07647 -0.07650 -0.06971 -0.06967 k und k 0 -0.09967 -0.19867 -0.09636 -0.19076 -0.08921 -0.17524 -0.07850 -0.15273 -0.06467 Tabelle 4.4: Beispielrechnung zum Runge-Kutta-Verfahren Tabelle 4.5 zeigt die Ergebnisse einer Approximation von x(0.8) und ẋ(0.8) mit verschiedenen Schrittweiten. Wie erwartet schrumpft der Fehler auf ca. 214 mit der Halbierung der Schrittweite. h 0 0.05 0.1 0.2 0.4 x(0.8) -0.1459976 -0.1459951 -0.1459577 -0.1453660 -0.1364295 ẋ(0.8) -9.9957360 -9.9957411 -9.9958133 -9.9968574 -10.0109926 Fehler 1.7E-05 2.7E-04 4.3E-03 6.6E-02 5.1E-07 7.7E-06 1.1E-04 1.5E-03 Verhältnis 15.97 15.21 15.82 14.51 15.15 13.60 Tabelle 4.5: Runge-Kutta-Verfahren mit verschiedenen Schrittweiten KAPITEL 4. PLANETENBAHNEN 50 4.8.5 Vorteile gegenüber MATLAB MATLAB ist ein kommerzielles Produkt, welches seine Vorteile besonders im Bereich „rechnen mit Vektoren und Matrizen“ hat. Unter anderem bringt MATLAB eine Löser für Differentialgleichungen mit, so auch ein Runge-Kutta-Verfahren. Dieses Verfahren kann jedes System von Differentialgleichungen lösen. Es hat also den Vorteil, dass es allgemein einsetzbar ist. Im Vergleich zu dem hier geschilderten und benutzten Verfahren hat es aber auch Nachteile: 1. Wie man in (4.31) und auch in Tabelle 4.4 sehen kann, ist es nicht nötig den Zuwachs k3 zu berechnen, da k2 = k3 wenn f (x, y, y 0 ) nicht von y 0 abhängt. 2. Es müssen keine Funktionen f (y) für die Geschwindigkeiten, also für y 0 , ausgewertet werden, wie das der Fall ist, wenn man eine Differentialgleichung n-ter Ordnung auf n Differentialgleichungen der Ordnung 1 zurückführt. Der 2. Grund fällt allerdings kaum ins Gewicht, da der zusätzliche Aufwand nur einige Zuweisungen und keine weiteren Rechnungen zur Folge hat. Kapitel 5 Erweiterungen 5.1 Schrittweitensteuerung Zu einem Anfangswertproblem y 0 = f (x, y) mit den Anfangswerten x0 und y(x0 ) = y0 soll der Wert y(x) zu einem Wert x 6= x0 berechnet werden. Errechnet man den gesuchten Wert in einem einzigen Schritt mit der Schrittweite h = x−x0 , führt das in der Regel zu einem großen und unvertretbaren Diskretisierungsfehler. Gewöhnlich wird man daher, wie bei der Integration (Abschnitt 2.1.1, S. 14), passende Zwischenpunkte xi mit i = 1, . . . , k − 1 einführen, für die gilt x0 < x1 < . . . < xk = x . Die i-te Schrittweite hat dann also die Länge hi = xi − xi−1 . Wie in Abschnitt 3.6 (S. 29) bereits beschrieben, hängt der lokale Diskretisierungsfehler stark von der Schrittweite eines Schrittes ab. Über die Schrittweite h lässt sich also der Fehler steuern. Je kleiner die Schrittweite desto kleiner der Fehler. Dafür steigt dann allerdings der Rechenaufwand. Möchte man ein Ergebnis mit einer bestimmten Genauigkeit, so muss die Schrittweite also von Schritt zu Schritt klein genug gewählt werden. Sie sollte aber auch nicht zu klein gewählt werden um den Rechenaufwand nicht zu groß werden zu lasen. Das Problem ist also: Bestimme zu gegebenem x0 , y0 eine möglichst große Schrittweite h, so dass der Diskretisierungsfehler ε(x0 + h; h) nach einem Schritt mit dieser Schrittweite noch unterhalb einer gewissen Schranke εmax bleibt. 5.1.1 Die Konvergenz von Einschrittverfahren Wie im Abschnitt 3.6 (S. 29) beschrieben, verhält sich bei einem Verfahren der Ordnung p der lokale Diskretisierungsfehler wie τ (x, y; h) = O(hp ). Dieser Fehler gilt nur für einen einzelnen Schritt und ist somit lokal. In den benutzten Verfahren werden jedoch viele einzelne Schritte aneinandergereiht. Dieser Abschnitt befasst sich nun mit dem globalen Diskretisierungsfehler. Gegeben ist das Anfangswertproblem y 0 = f (x, y) y(x0 ) = y0 (5.1) mit der exakten Lösung y(x). Es soll der Werte y(x) berechnet werden. Das Intervall 0 (x−x0 ) wird dazu in 1, 2, . . . gleich lange Unterintervall der Länge h = hn = x−x n = 1, 2, . . . n , unterteilt. Wenn man nun mit η(x, h) den numerisch berechneten Näherungswert für y(x) mit der Schrittweite h bezeichnet, so gilt für den Fehler η(x; h) − y(x) = εp (x)hp + εp+1 hp+1 + . . . . 51 (5.2) KAPITEL 5. ERWEITERUNGEN 52 Ein Beweis dafür findet man in [16, S.122]. (5.2) gilt unter gewissen Einschränkungen für alle allgemeinen Einschrittverfahren p-ter Ordnung, insbesondere auch alle hier verwendeten Verfahren. Derartige asymptotische Gesetze sind aus zweierlei Gründen praktisch bedeutsam. Zum einen rechtfertigen sie die Anwendung von Extrapolationsverfahren. Diese Verfahren werden hier jedoch nicht weiter erläutert (siehe dazu [16, S.166]). Die andere wichtige Bedeutung liegt darin, den globalen Diskretisierungfehler ε(x; h) abzuschätzen. Das Verfahren p-ter Ordnung habe z.B. eine asymptotische Entwicklung der Form ε(x; h) = η(x; h) − y(x) = hp εp (x) + O(hp+1 ). (5.3) Hat man mit der Schrittweite h den Näherungswert η(x; h) gefunden, so berechne man anschließend mit einer anderen Schrittweite, z.B. mit der Schrittweite h2 , für dasselbe x den Näherungswert η x; h2 . Für genügend kleines h (und εp (x) 6= 0) ist dann in 1. Näherung . η(x; h) − y(x) = εp (x)hp p h h . . − y(x) = εp (x) η x; 2 2 (5.4) (5.5) Subtraktion der zweiten Gleichung von der ersten ergibt h . hp η(x − h) − η x; = εp (x) (2p − 1) 2 2 p h h . η(x; h) − η 2 εp (x) = 2 2p − 1 und man erhält durch Einsetzen in (5.5) h η x; 2 . η(x; h) − η − y(x) = 2p − 1 h 2 Für das Verfahren von Runge-Kutta ist p = 4 und man bekommt die Formel h h . η(x; h) − η 2 . η x; − y(x) = 2 15 5.1.2 (5.6) (5.7) Schrittweitensteuerung in der Praxis Zuerst muss eine Genauigkeit εmax gewählt werden. Diese Schranke für den Fehler sollte man nicht kleiner als ein Vielfaches der Maschinengenauigkeit eps wählen. Dann gilt εmax ≥ K · eps, wobei K eine Schranke für die Lösung y(x) in dem in Frage kommenden Bereich ist K ≈ max {|~y (x)| : x ∈ [x0 , x0 + h]} . (5.8) Betrachtet man z.B. Abbildung 4.5 auf Seite 41, so kann man für dieses Problem K = 100 wählen. Der Körper entfernt sich zwar nie weiter als 5 von der Sonne, die Geschwindigkeit beginnt jedoch mit v (je nach Bahn) und wächst dann um so weiter an, je näher der Körper der Sonne kommt. Je geringer die Startgeschwindigkeit, also je näher der Planet an der Sonne vorbeifliegt, desto geringer darf man Ansprüche an 5.1. SCHRITTWEITENSTEUERUNG 53 die Genauigkeit stellen. Dieses Problem wird in Abschnitt 5.2 noch genauer behandelt. Rechnet man unter Excel mit doppelter Genauigkeit, so hat man eine Maschinengenauigkeit von eps ≈ 10−14 . Eine εmax = K · eps entsprechende Wahl von h garantiert dann, dass die gefundene Näherungslösung η(x0 + h; h) im Rahmen der Maschinengenauigkeit mit der exakten Lösung y(x0 + h) übereinstimmt. Eine solche Schrittweite h = h(εmax ) kann mit den Methoden aus dem vorhergehenden Kapitel näherungsweise gewonnen werden: Bei einem Verfahren der Ordnung p gilt nach 5.3 in 1. Näherung . ε(x; h) = εp (x)hp . (5.9) Nun ist εp (x0 ) = 0, also in 1. Näherung . εp (x) = (x − x0 )ε0p (x0 ). . Es ist damit ε(x0 + h; h) = ε falls . . ε = |εp (x0 + h)hp | = hp+1 ε0p (x0 ) . (5.10) (5.11) Daraus kann man h berechnen, wenn man ε0p (x0 ) kennt. Einen Näherungswert für ε0p (x0 ) kann man aber mittels (5.6) gewinnen. Benutzt man zunächst die Schrittweite H um η(x0 + H; H) und η x0 + H; H 2 zu berechnen, so gilt H . η(x0 + H; H) − η x0 + H; H 2 = . (5.12) ε x0 + H; 2 2p − 1 Andererseits ist wegen (5.9) und (5.10) H2 . 0 Hp H . = εp (x0 + H) = εp (x0 )H ε x0 + H; . 2 2 2 Also folgt aus (5.12) der Schätzwert 2p 1 H . 0 εp (x0 ) = p+1 p η(x0 + H; H) − η x0 + H; . H 2 −1 2 (5.11) liefert daher die Formel s H . p+1 2p η(xo + H; H) − η x0 + H; H2 = , h 2p − 1 εmax (5.13) (5.14) (5.15) die folgendermaßen angewendet wird. Schritt 1: Wahl einer Schrittweite H. Schritt 2: Berechnung der Werte η(x0 + H; H) und η(x0 + H; H2 . Schritt 3: Berechnung von h nach (5.15). H Falls H viel größer als das vorgeh 2 ist wegen (5.12) der Fehler ε x0 + H; 2 schriebene εmax . Es ist daher zweckmäßig, H zu reduzieren. Dazu ersetze man H durch 2h und wiederhole die Schritte 1 bis 3 bis schließlich H h ≤2 ist. Sobald dies der Fall ist, akzeptiert man η x0 + H; H2 als Näherungslösung für y(x0 + H) und gehe zu dem nächsten Integrationsschritt über. Da man bei einem Einkörperproblem 4 Werte hat, nämlich die jeweils 2 Koordinaten des Orts und der Geschwindigkeit, muss man in das geschilderte Verfahren vier mal durchführen. Für alle vier Werte wird dann die kleinste Schrittweite H benutzt. KAPITEL 5. ERWEITERUNGEN 54 5.1.3 Beispiel Anhand des Einkörperproblems soll nun der Vorteil eines Verfahren mit Schrittweitensteuerung gegenüber einem Verfahren ohne Schrittweitensteuerung dargestellt werden. Zuerst macht die Schrittweitensteuerung die Berechnung der Bahnen einfacher, da man nur noch einen Fehler einstellen muss. Planetenbahnen können so einfach und zuverlässig berechnet werden, auch wenn der Planet sehr nahe an der Sonne vorbeifliegt. 5 Zunächst also einige Bahnen, die mit εmax = 10−10 und den Startwerten ~r0 = 0 0 berechnet wurden. Nur die Anfangsgeschwindigkeit v in y-Richtung und ~v0 = v variiert. Im Vergleich zu allen anderen davor berechneten Bahnen (siehe z.B. Abbildung 4.1) sind diese Bahnen auch in der Nähe der Sonne sehr exakt und zuverlässig. In Tabelle 5.1 sind markante Daten dieser Berechnungen aufgelistet. Es wurde jeweils der Ort und die Geschwindigkeit des Planeten mit und ohne Schrittweitensteuerung nach exakt einer Umkreisung vorausgesagt. Die Schrittweite des Verfahrens ohne mit Schrittweitensteuerung ohne Schrittweitensteuerung Startgeschw. Umlaufdauer Umkreisungen Fehler Schritte Zeit Min Schritt Fehler Schritte Zeit Min Schritt Verhältnis Schritte 4 1,259 1 5.03E-10 411 0.43 2.34E-04 5.63E-10 6295 1.04 0.0002 15.32 10 5.02E-09 4097 4.18 2.34E-04 5.63E-09 62937 9.99 0.0002 15.36 8 1,981 1 1.02E-10 248 0.22 3.87E-03 1.03E-10 794 0.11 0.0025 3.20 10 1.02E-09 2465 2.03 3.87E-03 1.03E-09 7925 1.32 0.0025 3.22 Tabelle 5.1: Vergleich mit und ohne Schrittweitensteuerung Schrittweitensteuerung wurde dabei einfach manuell so gewählt, dass ein vergleichbare Genauigkeit dabei herauskam. Interessant ist, dass diese Schrittweite kleiner ist als die kleinste Schrittweite des Verfahrens mit Schrittweitensteuerung. Das liegt daran, dass die Genauigkeit der Werte mit der Anzahl der Schritte sinkt wird. Somit muss die Genauigkeit pro Schritt beim zweiten Verfahren größer sein als beim ersten. 5.2 Regulierung Bei dem numerischen Lösen von Differentialgleichungen enstehen automatisch Fehler. Wie man mit diesen Fehlern umgehen kann wird z.B. in Kapitel 5.1 beschrieben. Trotzdem kann es gerade beim Dreikörperproblem zu Problemen kommen, die nicht mehr durch eine Schrittweitensteuerung ausgeglichen werden können. 5.2. REGULIERUNG 5.2.1 55 Rundungsfehlereinfluss bei Einschrittverfahren Bei der praktischen Durchführung eines Einschrittverfahrens mit den Startwerten η 0 := y0 und ηi+1 = ηi + hφ(xi , ηi ; h) xi+1 = xi + h (5.16) erhält man bei der Benutzung von Gleitpunktarithmetik (t Dezimalstellen) der relativen Genauigkeit eps = 5 · 10−t statt der ηi andere Zahlen η˜i , die einer Rekursionsformel der Form η˜0 := y0 für i = 0, 1, . . . ci := gl (φ(xi , η̃i ; h)) di := gl(h · ci ) (5.17) η̃i := gl(η̃i + hφ(xi , η̃i ; h) + εi+1 genügen, wobei sich der gesamte Rundungsfehler εi+1 in 1. Näherung aus 3 Anteilen zusammensetzt . εi+1 = hφ(xi , η̃i ; h)(αi+1 + µi+1 ) + µ̃i+1 σi+1 . (5.18) Dabei wurden folgende Abkürzungen benutzt. 1. αi+1 = [gl (φ(xi , η̃i ; h)) − φ(xi , η̃i ; h)] φ(xi , η̃i ; h) (5.19) ist der relative Rundungsfehler, der bei der Berechnung von φ in Gleitpunktarithmetik entsteht. 2. µi+1 ist der relative Rundungsfehler, der sich bei der Berechnung des Produktes h · ci ergibt. 3. σi+1 ist der relative Rundungsfehler, der bei der Addition η̃i + di auftritt. Gewöhnlich ist in der Praxis die Schrittweite h so klein, dass |hφ(xi , η̃i ; h)| |µ̃i | . gilt, und man hat, wenn |αi+1 ≤ eps| und µi+1 ≤ eps, somit εi+1 = µ̃i+1 σi+1 , d.h. der Rundungsfehler wird in erster Linie durch die Additionsfehler σi+1 bestimmt. Möchte man den gesamten Einfluss aller Rundungsfehler εi abschätzen, so erfordert dies einen etwas größeren Aufwand. Eine Herleitung der Formel für den Gesamtfehler kann man z.B. unter [16, S.126] nachlesen. Vorausgesetz wird |εi+1 | ≤ ε für alle i ≥ 0 (5.20) und eine Lipschitzbedingung |φ(x, y1 ; h) − φ(x, y2 ; h)| ≤ M |y1 − y2 | . (5.21) Dann gilt bei einem Verfahren der Ordnung p für den Gesamtfehler v(xi ; h) = η̃i − yi ε eM |x−x0 | − 1 p |v(x; h)| ≤ N |h| + . (5.22) |h| M Diese Formel lässt erkennen, dass wegen des Rundungsfehlereinfluss bei einer Verkleinerung von |h| über eine gewisse Grenze hinaus der Gesamtfehler v(x; h) wieder anwächst. Zu diesem Verhalten werden im nächsten Abschnitt einige Beispiele vorgeführt. Ein sehr deutliches Beispiel kann man aber auch in [16, S.127] nachlesen. KAPITEL 5. ERWEITERUNGEN 56 5.2.2 Beispiel In Tabelle 5.2 werden wie in Tabelle 5.1 Planetenbahnen mit verschiedenen Anfangsgeschwindigkeiten und mit dem maximalen Fehler εmax = 10−10 verglichen. Dabei kommt der Planet der Sonne sehr nahe. Wie in Abschnitt 5.1.3 hängt der Fehler linear von der Anzahl der Schritte ab. Bereinigt man das Verhältnis der Fehler um diesen Faktor, so erhält man die Daten aus der letzten Zeile. Der Fehler nimmt also auch unabhängig von der Anzahl der Schritte zu. Insgesamt wächst so der Fehler bereits nach Anfangsgeschwindigkeit Fehler Schritte Zeit kleinste Schrittweite kleinste Entfernung Fehlerverhältnis 1 3.18E-09 836 0.77 2.37E-06 2.51E-02 - 0.1 4.08E-08 1867 1.65 1.48E-09 2.50E-04 5.7 0.01 5.89E-07 3497 2.86 9.35E-13 2.50E-06 7.7 0.005 1.39E-06 4152 3.29 1.02E-13 6.25E-07 2.0 Tabelle 5.2: Ohne Regulierung einer Umrundung um den Faktor 10.000 über den geduldeten Fehler εmax hinaus. Eine Verringerung von εmax führt zu einem Fehler. Die Schrittweite wird dann zu gering. Auch eine weitere Verringerung der Startgeschwindigkeit führt zu diesem Fehler. Das bislang verwendete Verfahren ist also für Situationen, in denen sich zwei Körper sehr nahe kommen, nicht mehr geeignet. 5.2.3 Darstellung in der Hamiltonschen Mechanik Die Hamiltonsche Mechanik wird in der Physik besonders dann genutzt, wenn man mit Systemen umgeht, die gewissen Zwangsbedingungen unterliegen. Dieser Grund spielt hier jedoch eine untergeordnete Rolle wichtiger ist, dass man Systeme, die man mit der Hamiltonschen Mechanik beschreibt, einfach transformieren kann. Eine genaue Beschreibung dieses Formalismus und der kanonischen Transformation findet man z.B. in [7]. Zuerst muss die sogenannte Hamilton’-Funktion aufgestellt werden. Es gilt H = Ekin + Epot = P2 mM − , 2m |X| (5.23) wobei Ekin die Bewegungs- und Eppot die potentielle Energie ist. P sei der Impuls und X der Ort des Körpers. Die Bewegungsgleichungen sind dann vorerst Ẋ = ∂H ∂X und Ṗ = − ∂H . ∂P (5.24) Man kann nun ohne großen Aufwand einen neuen Satz von verallgemeinerten Koordinaten und Impulsen einführen. 5.2.4 Durchführung Im Folgenden werden nach Levi-Civita[8] komplexe Zahlen zur Beschreibung einer Koordinaten im R2 benutzt. Der Vektor (x0 , x1 ) entspricht z.B. der komplexen Zahl 5.2. REGULIERUNG 57 x = x0 + ix1 . Um also das Problem des nahen Vorbeifluges des Planeten an der Sonne zu regulieren wird die Abbildung X = x2 eingeführt. Die Wurzel vergrößert die sehr kleinen Abstände bei einer Beinah-Kollision. Dazu muss weiterhin eine fiktive Zeit s einführen werden, die durch dt = |X| ds definiert ist. Es muss auch ein neuer verallgemeinerter Impuls p ∈ C eingeführt werden, und zwar so, dass die Transformation der Koordinaten (X, P ) in die Koordinaten (x, p) kanonisch ist. Dann muss für den neuen Impuls gelten ∂X P = 2xP p= ∂x p ⇔P = 2x Mit der Gesamtenergie E des Systems und ergibt sich dann |P | mM − −E K = |X| (H − E) = |X| 2m |X| p 2 |X| 2x = − mM − E |X| 2m 2 |p| 2 = − mM − E |x| 8m Die regulierten Bewegungsgleichungen sind dann und dx ∂K p = = , ds ∂p 4m ∂K dp = = 2Ex und ds ∂x dt 2 = |X| = |x| . ds (5.25) Mit den Real- und Imaginärteilen von x und p und der Differentialgleichung für die Zeit ergibt das 5 Differentialgleichungen der Ordnung 1. Diese lassen sich mit einem Runge-Kutta-Verfahren, wie in beschrieben,numerisch lösen. 5.2.5 Rücktransformation Die Lösung dieses Differentialgleichungssystem ergibt eine Bahnkurve in den neuen Koordinaten, wie sie in Abbildung 5.1 zu sehen ist. Man sieht deutlich, dass der Planet in den transformierten Koordinaten keine Probleme hat, die vergleichbar wäre zu den alten Koordinaten. Mit diesen Daten ist so natürlich nichts anzufangen. Die Daten müssen erst zurücktransformiert werden. X = x2 (X0 + i X1 ) = (x0 + i x1 )2 = (x20 − x21 ) + i 2x0 x1 ⇒ X0 = x20 − x21 und (5.26) X1 = 2x0 x1 Da Transformation für den Impuls und somit die Geschwindigkeit ist für die Bahn nicht relevant und soll hier keine weitere Rolle spielen. Mit dieser Rücktransformation ergeben sich dann die bekannten Bahnen (siehe z.B. Abbildung 5.1.3). KAPITEL 5. ERWEITERUNGEN 58 1.2 v0 = 1 v0 = 0.1 1 0.8 0.6 0.4 0.2 0 −0.02 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 Abbildung 5.1: Bahn in transformierten Koordinaten 5.2.6 Ergebnisse Das regulierte Verfahren hat vor allem den Vorteil, dass viel weniger Schritte benötigt werden. Unter den bereits oft verwendeten Anfangswerten mit der Startgeschwindigkeit v = 0.1 benötigt das herkömmliche Verfahren 1867 Schritte bei einer Genauigkeit von εmax = 10−10 (siehe Tabelle 5.2). Das regulierte Verfahren benötigt nur noch 310 Schritte. Und das bei einer Genauigkeit von 10−12 . Die Anzahl der Schritte im regulierten Verfahren ändert sich auch dann kaum, wenn die Startgeschwindigkeit, und somit der Abstand des Planeten von der Sonne, weiter sinkt. In Abbildung 5.2 ist die Schrittweite der einzelnen Schritte dargestellt. Die Schrittweiten der regulierten Rechnung sind dabei in die Länge gezogen, damit die Schrittweite besser verglichen werden kann. Deutlich wird hier, dass beim herkömmlichen Verfahren die Schrittweite sehr schnell sehr klein wird und dort dann viele Schritte bleibt. Die Schrittweite des regulierten Verfahrens ist im Vergleich dazu sehr gleichmäßig auf einem vergleichsweise hohen Niveau. Man sieht jedoch auch, dass das herkömmliche Verfahren in einiger Entfernung von der Sonne größere Schrittweiten ergibt. Mit einer Regulierung kann man in Extremsituationen deutlich bessere Ergebnisse erzielen. Es gibt jedoch keine Regulierung für ein allgemeines n-Körperproblem. In Abschnitt 7.2 wird die Regulierung eines Spezialfalls des Dreikörperproblems vorgestellt. 5.2. REGULIERUNG 59 0.016 Normal Reguliert 0.014 0.012 0.01 0.008 0.006 0.004 0.002 0 0 200 400 600 800 1000 1200 1400 1600 1800 2000 Abbildung 5.2: Vergleich reguliert und nicht-reguliert 60 KAPITEL 5. ERWEITERUNGEN Kapitel 6 Das eingeschränkte Dreikörperproblem 6.1 Einleitung Bei dem eingeschränkten Dreikörperproblem handelt es sich um eine Vorstufe des Dreikörperproblems. Während das Ein- und Zweikörperproblem noch analytisch gelöst werden kann, ist dies für alle Dreikörperprobleme unmöglich (siehe dazu auch Abschnitt 7). In der Natur treten Dreikörperprobleme der Art auf, dass 2 Körper im Vergleich zum dritten Körper deutlich schwerer sind. Allgemein wird bei dem eingeschränkten Dreikörperproblem angenommen, dass die Masse des dritten Körpers vernachlässigbar bzw. als m = 0 angenommen werden darf. Dann wirkt vom dritten Körper aus keine Kraft auf die ersten zwei. Also dürfen diese zwei Körper isoliert betrachtet werden. Dazu gilt es jedoch erst das Zweikörperproblem zu behandeln. 6.2 Das Zweikörperproblem In [1, S.209] wird das Zweikörperproblem ausführlich beschrieben. Es lautet im engeren Sinne: Wie bewegen sich zwei Massenpunkte - z.B. die Sonne mit der Masse M und die Erde mit der Masse m - in ihrem gegenseitigen Gravitationsfeld? Die Vektoren ~r1 und ~r2 bezeichnen die Lage der beiden Körper in einem Inertialsystem und r = |~r1 − ~r2 | sei der Abstand der Körper untereinander. Dann lauten die Bewegungsgleichungen M m ~r1 − ~r2 r2 r M m ~ r − ~r2 1 . m~r¨2 = − 2 r r M ~r¨1 = (6.1) Die Hauptresultate können durch Vergleich mit dem Einkörperproblem bestimmt werden, das in Abschnitt 4.1 aus Seite 33 zu finden ist. Beim Einkörperproblems ging man davon aus, dass die Sonnenmasse M ruht. Aus der Gleichung m~r¨ = − M m ~r r2 r 61 (6.2) 62 KAPITEL 6. DAS EINGESCHRÄNKTE DREIKÖRPERPROBLEM können dann die Keplerschen Gesetze abgeleitet werden. Zuerst wird gezeigt, dass das Problem auf ein ebenes (2-dimensionales) Problem zurückgeführt werden kann. Aus der Summe der Gleichungen in 6.1 ergibt, dass keine resultierende Kraft auf das System wirkt. Nach dem Trägheitsprinzip (1. Newtonsches Axiom) bewegt sich dann der Schwerpunkt geradlinig und gleichförmig oder bleibt in Ruhe. Nach dem Galileischen Relativitätsprinzip kann der Anfangspunkt des Koordinatensystems also in den Schwerpunkt S gelegt werden. Das heißt, das S als ruhend betrachtet wird. Wenn im Weiteren ~r1 und ~r2 von S aus gemessen wird, so besteht die Beziehung M~r1 + m~r2 M +m ⇔ M~r1 + m~r2 = 0. ~rS = (6.3) Nach dem Satz der Drehimpulserhaltung ist nun ~ 0 = const, M (~r1 × ~v1 ) + m (~r2 × ~v2 ) = L (6.4) ~ o durch die Anfangslagen (~r10 , ~r20 ) und Anfangsgeschwindigkeiten (~v10 , ~v20 ) wobei L bestimmt ist. Aus (6.4) folgt nach skalarer Multiplikation mit ~r1 und ~r2 ~ 0 = 0 und ~r2 · L ~ 0 = 0, ~r1 · L (6.5) da beide Vektorprodukte senkrecht zu ~r1 und auch zu ~r2 stehen. Also stehen ~r1 und ~r2 ~ 0 . Das heißt, beide Massenpunkte bewegen sich dauernd in der zu auch senkrecht zu L ~ 0 senkrechten und durch den Schwerpunkt gehenden Ebene. L Des weiteren gilt für die durch ihre Massen dividierte Gleichung (6.1) m + M ~r2 − ~r1 ~r¨1 − ~r¨2 = r2 r m + M ~r oder ~r¨ = , r2 r (6.6) wobei der Abstandsvektor oder relative Radiusvektor ~r = ~r2 − ~r1 (6.7) die relative Bewegung - z.B. die Bewegung der Erde relativ zur Sonne - beschreibt. Unmittelbar kann nur diese Bewegung beobachtet werden. Die Gleichung 6.6 hat dieselbe Form wie Gleichung beim Einkörperproblem. Für M kommt bei ihr M + m vor. Dieser Unterschied ist nur bei dem 3. Keplerschen Gesetz wesentlich, weil bei den ersten beiden Gesetzen M nur in Verbindung mit beliebigen Konstanten auftritt. Man kann also sagen: Für die aufeinander bezogenen Bewegungen der beiden Körper bestehen die ersten zwei Keplerschen Gesetze ungeändert, das 3. aber verändert sich zu ! 4π 2 4π 2 T2 . = = (6.8) m a3 M +m M 1+ M Die rechte Seite ist für verschiedene Planeten des Sonnensystems verschieden, so dass hinsichtlich der Umlaufzeiten zweier Planeten der Zusammenhang T12 : T22 = a31 a32 m1 : 2 1+ M 1+ m M (6.9) besteht. Der Einfluss der Bewegung der Sonne äußert sich also in dem Verhältnis Dies ist beim Jupiter, dem Planeten mit der größten Masse, rund 1 0 /00 . m M. 6.3. DIE BEWEGUNGSGLEICHUNGEN 63 Man kann auch auf den Schwerpunkt bezogene Bewegungen der beiden Körper leicht feststellen. Die von S ausgehenden Vektoren ~r1 und ~r2 lassen sich durch das obige ~r (siehe Gleichung 6.3 und 6.7) folgendermaßen ausdrücken: M m ~r, ~r2 = ~r. (6.10) M +m M +m Daraus ist ersichtlich: Die auf den Schwerpunkt bezogene Bewegung beider Körper ist ebenfalls eine Keplersche Bewegung. Die Ellipse der Planeten ist wegen des Faktors M M +m ≈ 1 nahezu vom gleichen Maß wie die Ellipse der auf die Sonne bezogenen Bewegung, und die Ellipse der Sonne eine um das Verhältnis Mm +m kleinere Ellipse. ~r1 = − 6.2.1 Die reduzierte Masse Man kann die Bewegungsgleichung dann folgendermaßen ausdrücken. Aus der Differenz der Gleichungen 6.1 und mit den Gleichungen 6.10 folgt M m ~r2 − ~r1 M ~r¨1 − m~r¨2 = −2 2 r r mM (m + M ) ~r mM ¨ (6.11) = −2 ~r = 2 m+M 2 m+M r r m∗ M ∗ ~r0 = m∗~r¨ = − r2 m Das entspricht dem 1KP insofern, als dass ein Planet mit der Masse m∗ = MM+m um ∗ eine Sonne der Masse M = (m + M ), die sich im Schwerpunkt der ursprünglichen Massen befindet, kreist. Die Masse m∗ wird auch als reduzierte Masse bezeichnet. Das Prinzip der reduzierten Masse findet in gleicher Weise auch für andere Potentiale als das der Gravitation Anwendung. So z.B. bei der gekoppelten Schwingung von zwei Massenpunkten. 6.3 Die Bewegungsgleichungen Wie in Gleichung 3.2 beim Federpendel und in Gleichung 4.7 beim Einkörperproblem kann man auch hier eine Bewegungsgleichung aufstellen. X ¨ F~i = F~02 + F~12 = m2 ~x i ¨ = m2 m0 (~x0 − ~x2 ) + m2 m1 (~x1 − ~x2 ) m2 ~x d(~x2 , ~x0 ) |~x0 − ~x2 )| d(~x2 , ~x1 ) |~x1 − ~x2 )| m1 m0 ¨ x0 − ~x2 ) + x1 − ~x2 ) ~x = 3 (~ 3 (~ d(~x2 , ~x0 ) 2 d(~x2 , ~x1 ) 2 (6.12) Planet 2 sei dabei der Planet mit der zu vernachlässigenden Masse und d(xi , xj ) sei der Abstand zwischen den Massen i und j. 6.4 Sonne–Erde–Mond Die Eignung der drei Körper Sonne, Erde und Mond als eingeschränktes Dreikörperproblem kann folgendermaßen eingeschätzt werden [10, S.31]. Die drei Massen verhalten sich zueinander ungefähr wie mS : mE : mM = 300, 000 : 1 : 0.01. Das Verhältnis der Entfernungen der Massen untereinander beträgt ungefähr dSE : dEM = 390 : 1. 64 KAPITEL 6. DAS EINGESCHRÄNKTE DREIKÖRPERPROBLEM Abbildung 6.1: Kräfte zwischen 3 Körpern 6.5. DIE REISE ZUM MOND 65 Die Entfernung des Mondes zur Sonne und die der Erde zur Sonne unterscheidet sich nur vernachlässigbar. Zuerst sollen die Effekte von Erde und Mond auf die Sonne verglichen werden. Die Bewegungsgleichung der Sonne ist mS mE mS mM (~rS − ~rM ) − (~rE − ~rS ). (6.13) mS ~r¨S = 3 dSM d3SE Dabei steht E für die Erde, M für den Mond und S für die Sonne. Vergleicht man nun die Kräfte von Erde und Mond auf die Sonne, so übt die Erde wegen ihrer größeren eine ca. 100 mal größere Kraft auf die Sonne aus als der Mond. Würde man also den Mond vernachlässigen, so ergäbe das einen Fehler von 1Bei der Bewegungsgleichung der Erde würde der zweite Teil wegfallen, wenn man den Mond vernachlässigt. mS mE mM mE mE ~r¨E = (~rS − ~rE ) − (~rM − ~rE ). d3SE d3M E Vergleicht man die beiden Terme miteinander, so ergibt sich 2 mM dSE ≈ 0.005, mS sEM wenn der Unterschied der Entfernungen Sonne–Erde und Sonne–Mond nicht berücksichtigt wird. Damit ist der Effekt des Mondes auf die Erde nur 5·10−3 mal so groß wie der Effekt der Sonne auf die Erde. Betrachtet man nun noch die Bewegungsgleichung des Mondes mM mS mM mE mM vecr ¨ M = (~rS − ~rM ) + (~rE − rM ) d3M S d3M E und das Verhältnis der Effekte von Erde und Sonne auf den Mond, so ergibt sich 2 mS dEM ≈ 2. (6.14) mE dSM Die Bewegung des Mondes wird also eher von der Sonne als von der Erde beeinflusst. Wirklich wichtig ist nun, dass der Effekt des Mondes auf die beiden anderen Planet ca. 2 Größenordnungen kleiner ist als der Effekt der anderen Planeten untereinander. Die Näherung durch das eingeschränkte Dreikörperproblem kann also höchstens für Kurzzeitvorhersagen genutzt werden. Der Einfluss des Mondes ist zu groß, um ihn zu vernachlässigen. 6.5 Die Reise zum Mond In Jule Vernes Science-Fiction-Roman „Die Reise um den Mond“ wird beschrieben, wie man sich vor ca. 150 Jahren wohl eben diese Mondreise vorgestellt hat. Nämlich indem man mit einer großen Kanone eine bemannte Kanonenkugel zum Mond schießt. Da die Masse der Kanonenkugel im Vergleich zur Masse von Erde und Mond nicht ins Gewicht fällt, ist diese Reise ein eingeschränktes Dreikörperproblem. Dafür können folgende Maßeinheiten, wie in Abschnitt 1.3.1 beschrieben, verwendet werden. Strecke: 1m∗ = 100000000m = 108 m Masse: 1kg ∗ = 1 Mondmasse = 7.35 · 1022 kg Zeit: 1s∗ = 4.52 · 105 s = 5.23d KAPITEL 6. DAS EINGESCHRÄNKTE DREIKÖRPERPROBLEM 66 Die Gravitationskonstante ergibt sich dann wie gewünscht als G = 6.67 · 10 −11 6.67 · 7.35 · 1022 · 4.5164 · 105 m3 = 3 s2 kg 1011 · (108 ) =1 2 (m∗ )3 (s∗ )2 kg ∗ (m∗ )3 . (s∗ )2 kg ∗ Die Masse des Mondes beträgt also 1 und die der Erde 81.3197. Die Entfernung zwischen dem Erd- und dem Mondmittelpunkt schwankt zwischen 3.56 und 4.07. Der Startpunkt wird also auf (3.56, 0) festgelegt. Damit der Schwerpunkt der Massen im Ursprung liegt und bleibt, startet die Erde bei (−0.0437, 0). Mit einer Startgeschwindigkeit von 4.926 für den Mond −0.0606 für die Erde verschwindet der Gesamtimpuls, und der Schwerpunkt bleibt auf Dauer im Ursprung. In Abbildung 6.2 wird die Umlaufbahn des Mondes dargestellt. Er benötigt dann 5.54 Zeiteinheiten für eine Umrundung. Das sind 28.5 Tage, was ziemlich gut den wirklichen Umständen entspricht. Insgesamt wurde jedoch nicht versucht, die tatsächlichen Umstände penibel zu rekonstruieren. Die Erde bewegt sich wegen ihrer deutlich größeren Masse kaum. Der Erdradius be4 Mondbahn Erde u 3 2 1 0 u −1 −2 −3 −4 −5 −4 −3 −2 −1 0 1 2 3 Abbildung 6.2: Die Bahn des Mondes trägt 0.06378. Somit ist und bleibt der Schwerpunkt des Systems innerhalb der Erde, wie in Abbildung 6.3 zu sehen ist. Nun kommt also die Kanonenkugel hinzu. Sie wird 4 6.5. DIE REISE ZUM MOND 67 0.08 Erdradius Erdbahn 0.06 0.04 0.02 0 s −0.02 −0.04 −0.06 −0.08 −0.08 −0.06 −0.04 −0.02 0 0.02 0.04 0.06 0.08 Abbildung 6.3: Die Bahn der Erde zum Zeitpunkt t = 0 am Ort (−0.0437, 0.067). Das ist aus der Sicht der Diagramme genau oben auf der Erdkugel. Sie erhält eine Geschwindigkeit v = 48.81 und wird in einem Winkel α = 0.491 · π zur positiven x-Achse abgeschossen. Diese Werte sind allesamt empirisch ermittelt worden. Nach t = 1.153 ist seine Distanz zum Mond zum ersten mal minimal. Dieser Punkt ist in Abbildung 6.4 dargestellt. Die Kugel wird genau vor dem Mond her geschossen. Sobald sie sich weiter von der Erde entfernt hat als der Mond, bewegt sich der Mond unter ihr weg. Die Entfernung Mond–Kanonenkugel beträgt dabei zum Zeitpunkt t = 1.15 nur noch 0.126. Das ist das 7-fache des Mondradius. Die Kugel wird vom Mond in Richtung der negativen x-Achse beschleunigt. Das ist auch sehr wichtig, da sie sonst zurück auf die Erde stürzen würde. Nun fällt sie an der Erde vorbei und umkreist sie im weiteren Verlauf, wie in Abbildung 6.5 zu sehen ist, auf einer stark elliptischen Bahn. Da das Geschoss keinen eigenen Raketenantrieb besitzt, ist die Bahn so gewählt, dass die Kanonenkugel im Laufe ihrer Bahn von alleine wieder zurück auf die Erde fällt. Nach einigen Umrundungen nähert sie sich erneut dem Mond, wie in Abbildung 6.6 zu sehen ist. Diesmal beträgt die Entfernung zum Zeitpunkt t = 16.987 nur noch 0.107. Das entspricht dem 6-fachen Mondradius und ist die kleinste Entfernung während der Reise. Wenn man an den Roman von Jules Verne denkt, ist spätestens jetzt der Zeitpunkt gekommen, um ein paar Fotos zu machen. Zum Ende der Reise ist es noch wichtig, wo auf der Erde die Kanonenkugel aufkommen wird. Abbildung 6.7 zeigt den Ort der Landung und in Tabelle 6.1 werden alle wichtigen Daten nochmal zusammengefasst. Benutzt man die Differenz der letzten beiden Werte als Abschätzung für die Genauigkeit, so wird die Kugel zum Zeitpunkt KAPITEL 6. DAS EINGESCHRÄNKTE DREIKÖRPERPROBLEM 68 4.2 4 3.8 3.6 3.4 3.2 3 2.8 2.6 2.4 −1 b bb bb bb b bb×b× b b b b b s b b b b b Mond Kugel Start Schritte Mond Schritte Kugel b min. Entf. b b b b b b s b b × s −0.5 0 0.5 1 1.5 2 2.5 Abbildung 6.4: Bahn im Bereich 0.55 < t < 1.35 5 Kugel Mond 4 Start Erde 3 b r s b rb c 2 cb c 1 0 s b c −1 −2 −3 −4 −5 rb −4 −3 −2 −1 0 1 2 Abbildung 6.5: Bahn im Bereich 4.2 < t < 8.7 3 4 3 6.5. DIE REISE ZUM MOND 3 Mond Kugel min. Entf. 2.95 69 × b × b b b b bb b b b b 2.9 2.85 b × b 2.8 2.75 b b 2.7 2 2.05 2.1 2.15 2.2 2.25 2.3 2.35 Abbildung 6.6: Bahn im Bereich 16.3 < t < 17.8 εmax 10−9 10−10 10−11 10−12 10−13 10−14 x0 -0.02223 -0.02218 -0.02208 -0.02210 -0.02206 -0.02206 y0 0.05912 0.05918 0.05966 0.05957 0.05977 0.05978 Zeitpunkt 18.0156122 18.0151579 18.0150715 18.0150607 18.0150545 18.0150540 Tabelle 6.1: Daten der Landung 2.4 2.45 2.5 KAPITEL 6. DAS EINGESCHRÄNKTE DREIKÖRPERPROBLEM 70 0.14 Erde Kugel 0.12 0.1 0.08 0.06 0.04 0.02 0 −0.06 −0.04 −0.02 0 0.02 Abbildung 6.7: Die Landung 0.04 0.06 6.5. DIE REISE ZUM MOND 71 t = 18.015054 ± 5 · 10− 7 landen, und zwar bei den Koordinaten (−0.0220 · 5 · 10− 5, 0.0598 ± 5 · 10− 5). Die Kanonenkugel landet also nach 94 Tagen 4 Stunden 5 Minuten und 37 Sekunden. Dieser Wert ist auf 1/25 Sekunde genau. Der Ort der Landung kann immerhin auf ca. 1km genau vorhergesagt werden. Ein Kanonenkugel mit einer Masse von einigen Tonnen beeinflusst die Bahnen von Erde und Mond nicht. Gerät die Masse des dritten Körpers jedoch in die Dimension des Mondes, z.B. m3.Körper = 0.001mMond so ist die Bahn schon nach kurzer Zeit nicht mehr mit der hier vorgestellten Bahn vergleichbar. Einige echte Dreikörperprobleme werden in Abschnitt 7 diskutiert. 72 KAPITEL 6. DAS EINGESCHRÄNKTE DREIKÖRPERPROBLEM Kapitel 7 Das Dreikörperproblem Während das Zweikörperproblem vollständig gelöst werden kann, ist die strenge Lösung des allgemeinen Dreikörperproblems trotz der Bemühungen der bedeutendsten Forscher nicht [1]. Von den 18 Integralen liefern die drei Erhaltungssätze (Impuls-, Energie- und Drehimpulserhaltung) nur 10 Integrale, und es gibt außer diesen keine weiteren von ihnen unabhängigen „algebraischen Integrale“. Auch die Nichtexistenz gewisser allgemeiner Integrale wurde beweisen (Poincarè,1889). Die Schwierigkeiten wurden weder beim ebenen noch beim sogenannten eingeschränkten Dreikörperproblem aufgehoben. Streng und durch elementare Formeln lässt sich das Dreikörperproblem nur unter gewissen, noch spezielleren Annahmen lösen, so z.B. im Lagrangeschen Spezialfall (1772), bei dem vorausgesetzt wird, dass die drei Körper anfänglich ein gleichseitiges Dreieck bilden und dieses sich dauernd ähnlich bleibt. Näherungsmethoden (Reihenentwicklungen) zur Lösung des Dreikörperproblems und allgemeinerer Probleme der Himmelsmechanik wurden in der astronomischen Störungstheorie entwickelt. Durch diese im Allgemeinen mit schwierigen Rechnungen verknüpften Methoden lassen sich die Bewegungen mit hinreichender Genauigkeit bestimmen bzw. in Übereinstimmung von Beobachtungen deuten. Eine Ausnahme bilden die bei dem der Sonne nächstgelegenen Planeten Merkur auftretende Anomalie (Perihelbewegung des Merkur). Die große Bahnachse dreht sich in der Bahnebene, und die Drehung ist im Jahrhundert um 43” größer als der Wert, den die Störungsrechnung ergibt. Diese Anomalie kann, wie es scheint, nur mit Hilfe der allgemeinen Relativitätstheorie erklärt werden. 7.1 Fremde Welten Nun soll ein Dreikörperproblem mit einem sehr schweren Raumschiff durchgespielt werden. Dazu dient das System Erde–Mond–Raumschiff. Die Strecke wird in 100000000m, die Masse in Mondmassen und die Zeit in 5.23d gemessen (siehe Abschnitt 6.5). Das Raumschiff habe dabei die extrem große Masse 0.01. Es könnte z.B. in einer Umlaufbahn um die Erde zusammengebaut werden. Um die Erde verlassen zu können, kann man sich eines Tricks bedienen. Man holt sich bei mehrere Umläufen Schwung. Dann funktioniert nur mit mehreren anderen Massen. So z.B. nach 6.5 Zeiteinheiten (siehe Abbildung 7.1). Während das Raumschiff auf die Erde zu fliegt, fliegt der Mond in kurzer Entfernung für eine kurze Zeit vor dem Raumschiff her. Das Raumschiff wird so zusätzlich beschleunigt und kommt so auf eine neue Umlaufbahn, auf der sich das 73 KAPITEL 7. DAS DREIKÖRPERPROBLEM 74 4.1 s Raumschiff Mond Start min. Entf. b b b 4.05 b b b b b 4 s × b 3.95 b 3.9 b b b b b × b b ×b b 3.85 b b b b b b b b b b b 3.8 s b b 3.75 0.15 0.2 0.25 0.3 0.35 0.4 0.45 Abbildung 7.1: Schwung holen, 6.5 < t < 6.6 0.5 0.55 7.1. FREMDE WELTEN 75 Raumschiff bereits auf 28 Längeneinheit von der Erde entfernt. Nach 75 Zeiteinheiten wiederholt sich dieses „Schwung holen“ (siehe Abbildung 7.2). Diesmal bekommt das Raumschiff genügend Schwung, um komplett der Erde entkom5.5 bs b b b b b 5 b 4.5 b b b b bb b b b b b b b × b b b× b b b b b b b b b b b b b b b bs b b b 4 3.5 3 2.5 b 2 Raumschiff Mond Start min. Entf. b 1.5 b 1 −3 b −2 −1 0 1 2 3 s × 4 Abbildung 7.2: Schwung holen, 74.8 < t < 76 men zu können. Für die Differenz zwischen Bewegungs– und potentieller Energie gilt Ekin − Epot > 0. In Tabelle 7.1 wird die Entfernung im Laufe der Zeit dargestellt. Demnach hat das Raumschiff eine Geschwindigkeit von ca. 3, das entspricht ca. 680 m s Zeit Entfernung 100 90.46 200 407.96 400 1026.63 600 1641.47 1000 2867.87 Tabelle 7.1: Entfernung von der Erde bzw. doppelter Schallgeschwindigkeit. Das hier beschriebene Verfahren wird in der Praxis verwendet, um Sonden zu entlegenen Planeten zu schicken. 7.1.1 Raketenantrieb Die eben errechnete Geschwindigkeit ist viel zu gering, um im Weltall nennenswerte Strecke zurück zu legen. Dies ließe sich mit einem Raketenantrieb ändern, der das Raumschiff von einem bestimmten Moment an beschleunigt. Dabei wäre eine konstante Beschleunigung sinnvoll, so dass sich die Insassen an die Verhältnisse gewöhnen können. Ideal wäre dann eine Beschleunigung von ca. 10 sm2 . In dem Raumschiff könnte man sich dann bewegen wie auf der Erde. Dazu wären jedoch selbst unter idealen Bedingungen Unmengen von Treibstoff und eine extremes Verhältnis zwischen Treibstoff und Nutzlast notwendig [17, S.849]. Auf lange Sicht erscheint eine Beschleunigung KAPITEL 7. DAS DREIKÖRPERPROBLEM 76 g ≈ 1 sm2 als realistisch. Würde man in der Nähe der Erde mit der Beschleuvon a = 10 nigung beginnen, würde ein Großteil der Kraft verloren gehen. Holt man sich, wie in diesem Beispiel, erst mal Schwung, so kann man das Gravitationsfeld der Erde hinter sich lassen und dann beschleunigen. Damit wird kein kostbarer Treibstoff verschwendet. Eine konstante Beschleunigung lässt sich leicht in die Bewegungsgleichungen einbauen, indem man zur bisherigen Gleichung eine konstante hinzu addiert. Wenn das Raumschiff in Richtung der negativen y-Achse mit der eben beschriebenen Beschleunigung beschleunigt werden soll, sieht die neue Bewegungsgleichung folgendermaßen aus: mM ond mErde (r − rMond ) − 2040 r¨0 = − 3 (r − rErde ) − 3 dErde dMond Dabei entspricht 2040 einer Beschleunigung von 0.1g. Behält man diese Beschleunigung ca. 66 Zeiteinheiten bei, so erreicht man ca. 1% der Lichtgeschwindigkeit. Die Reise zum nächsten Stern αCentauri würde bei der Entfernung von 4.3 Lichtjahren [4, S.87] immer noch über 400 Jahre dauern. 7.2 Ein Spezialfall des Dreikörperproblems Der nun dargestellte Spezialfall des Dreikörperproblems wurde zum ersten mal von Dr. Carl Burreau erwähnt [2]. Zuvor gab es die Meinung, die drei Massen würden in eine periodische Bewegung übergehen. Hier wird dieses Dreikörperproblem erläutert, weil es besonders hohe Ansprüche an den Algorithmus stellt und weil Regulierung in diesem Fall Sinn macht. Die Ergebnisse werden teilweise mit Hilfe von MATLAB und MAPLE erzeugt. 7.2.1 Startwerte und Bewegungsgleichung Von einem Pythagorassches Dreikörperproblem spricht man, wenn die Anfangswerte so gewählt sind, dass 1. die Anfangspositionen der Körper ein rechtwinkliges Dreieck bilden. 2. die Verhältnisse der drei Massen zu den jeweils gegenüberliegenden Seiten gleich ist. Alle Körper seien zu Beginn in Ruhe. Abbildung 7.3 zeigt derartige Anfangswerte. Die Seiten haben die Längen 3,4 und 5 32 + 42 = 52 . Die Daten sind so gewählt, dass sich der Schwerpunkt im Ursprung des Koordinatensystems befindet und dort auch bleibt (Gesamtimpuls=~0). Mit den Bezeichnungen d0 = |~r2 − ~r1 | , d1 = |~r2 − ~r0 | , ergeben sich die Bewegungsgleichungen. d2 = |~r1 − ~r0 | ~r1 − ~r0 ~r2 − ~r0 ~r¨0 = m1 + m2 3 d2 d31 ~r2 − ~r1 ~r0 − ~r1 + m2 ~r¨1 = m0 d32 d30 ~r1 − ~r2 ~r0 − ~r2 + m1 ~r¨2 = m0 d31 d30 (7.1) 7.2. EIN SPEZIALFALL DES DREIKÖRPERPROBLEMS 77 Abbildung 7.3: Pythagorassche Anfangswerte 7.2.2 Lösen von Differentialgleichungen mit Matlab Matlab enthält einige Löser für Differentialgleichungen [19]. Diese Funktionen werden als ode bezeichnet. ode steht für „Ordinary Differential Equation“, gewöhnliche Differentialgleichung. Dabei ist ode45 ein Runge-Kutta-Verfahren der Ordnung 4 wie es in Abschnitt 4.8 beschrieben wird. Die Genauigkeit der errechneten Werte wird dann mit einem Runge-Kutta-Verfahren der Ordnung 5 ermittelt. Insgesamt stellt sich dieses Verfahren als ungeeignet heraus. Sowohl die Dauer der Berechnungen als auch deren Genauigkeit ist völlig unzureichend wie man in Tabelle 7.2 sehen kann. Statt dessen ode113 ode45 rel. Genauigkeit 1.00E-09 1.00E-10 1.00E-11 1.00E-09 abs. Genauigkeit 1.00E-09 1.00E-10 1.00E-11 1.00E-09 Dauer in Min. 2:45 3:00 6:00 >15 Schritte 9968 11016 17703 60175 Tabelle 7.2: MATLAB-Funktionen ode113 und ode45 wird ode113 benutzt. Dabei handelt es sich um ein Mehrschrittverfahren mit variabler Ordnung nach Adams, Bashforth und Moulton. Es ist gegenüber ode45 dann im Vorteil ist, wenn eine Fehlertoleranz zwingend eingehalten werden muss. Die folgenden Eingaben ergeben eine erste Lösung. >>global m0 m1 m2; KAPITEL 7. DAS DREIKÖRPERPROBLEM 78 %Startwerte% >>m0=5 m1=3 m2=4; >>x00=[1;-1];x10=[1;3];x20=[-2;-1];xp0=[0;0]; >>options=odeset(’RelTol’,1e-10,’AbsTol’,1e-10); >>[T1,Y1]=ode113(’f’,[0 63],[x00;xp0;x10;xp0;x20;xp0],options); Zum Vergleich mit MATLAB wurden die Orte der drei Körper unter den gleichen Startbedingungen mit einem Algorithmus berechnet, wie er in Abschnitt 4.8 und Abschnitt 5.1 beschrieben wird. Im Anhang A wird der dazu benötigte Programmcode gezeigt. Tabelle 7.3 zeigt die wesentlichen Daten dieser Rechnungen. Die berechneten Bahnen εmax 10−10 10−11 10−12 Rechendauer in s 36.09 73.82 80.78 Schritte 13748 28709 33030 Tabelle 7.3: Eigener Algorithmus sind dabei mit denen von MATLAB vergleichbar. Der Algorithmus benötigt zwar im Vergleich zu ode113 deutlich mehr Schritte, ist aber trotzdem deutlich schneller. Das kann mit den Gründen zu tun haben, die in Abschnitt 4.8.5 genannt werden. Es kann aber auch an Excel und MATLAB liegen und. In Abbildung 7.4 ist die Bahn der Masse m0 im Zeitraum 53 < t < 55 dargestellt. Man kann deutlich erkennen, dass die Position nicht mehr genau bestimmbar ist. Mit Erhöhung der Genauigkeit konvergiert der Ort zum Zeitpunkt t = 55 nicht mehr wesentlich. Der Grund für die starken Ungenauigkeiten liegt darin, dass die Funktion der Kraft eine Singularität bei einem Abstand r = 0 aufweist. Kommen sich zwei Körper sehr nah, so treten dabei i. Allg. sehr große Geschwindigkeiten auf und Matlab muss zum Ausgleich sehr kleine Schrittweiten wählen. Das heißt, dass die Schrittweite manchmal sogar in die Nähe der möglichen Genauigkeit kommt, was zu großen Rundungsfehlern und ungenauen Ergebnissen führt. Diese Ungenauigkeiten wirken sich genau dann, wenn sich zwei Körper sehr nahe sind, besonders stark aus. Die knappste Beinahkollision tritt zum Zeitpunkt t1 = 15.82 auf. Der Abstand der Massen m0 und m2 beträgt nur noch d1 = 5.1331 · 10−8 , bei einer Maschinengenauigkeit von eps = 2.2204 · 10−16 . 7.2.3 Darstellung in der Hamiltonschen Mechanik ode113 kann mit der hierher beschriebenen Formulierung des Problems nur unter extremen Rechenaufwand eine Verbesserung der Prognose bewerkstelligen. Für langzeitige Prognosen ist das nicht mehr akzeptabel. Um die Effizienz zu steigern kann des Prinzip der Regulierung angewandt werden, das in Abschnitt 5.2 beschrieben wird. Zuerst können jedoch die Daten reduziert werden. Dazu kann man Zwangsbedingungen nutzen. Es gibt die 1. Drehimpulserhaltung 2. Impulserhaltung 3. Energieerhaltung 7.2. EIN SPEZIALFALL DES DREIKÖRPERPROBLEMS 2.8 79 10−9 10−10 10−11 2.6 2.4 2.2 2 1.8 1.6 1.4 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Abbildung 7.4: 53 < t < 55 mit ode113 Durch die Erhaltung des Drehimpuls bleiben die Körper in einer Ebene. Diese Bedingung gilt im Gegensatz zum Zweikörperproblem nicht allgemein. Unter den geschilderten Anfangsbedingungen sind und bleiben die Massen jedoch in einer Ebene. Die Bewegungsgleichungen können also 2-dimensional gehalten werden. Aus der Erhaltung von Impuls und Bewegungsenergie lässt sich schließen, dass sich der Schwerpunkt der Massen im Ursprung des Koordinatensystems befindet und dort auch bleibt. Es gilt also 2 X mj x j = 0 und j=0 2 X mj ~r˙j = 0. j=0 Auf diese Weise kann eine der Variablen xj eliminiert werden. Mit den neuen Variablen X = r1 − r0 und Y = r 2 − r0 P = m1 ṙ1 und Q = m2 ṙ2 . sowie die Impulse Für die neuen, verallgemeinerten Koordinaten ist das System weiterhin voll bestimmt. Die in (7.1) eingeführten Abstände ergeben sich als d0 = |Y − X| , d1 = |Y | und d2 = |X| . In der Notation der Hamiltonschen Mechanik ergibt sich dann, wie in Abschnitt 5.2.3, die sogenannte Hamiltonfunktion als 2 H= 2 2 |P | |Q| m1 m2 m0 m1 m0 m2 |P + Q| + + − − − . 2m0 2m1 2m2 |Y − X| |X| |Y | (7.2) KAPITEL 7. DAS DREIKÖRPERPROBLEM 80 Mit dieser Funktion sind nun die Differentialgleichungen Ẋ = ∂H ∂H ∂H , Ẏ = , Ṗ = − ∂P ∂Q ∂X und Q̇ = − ∂H . ∂Y Die Koordinaten r0 , r1 und r2 der drei Körper lassen sich zurückgewinnen mit x0 = − m1 X + m 2 Y , m0 + m 1 + m 2 x1 = x0 + X und x2 = x0 + Y. Damit ist das Ziel erreicht, über die Zwangsbedingungen die Anzahl der Freiheitsgrade und somit die Anzahl der Differentialgleichungen zu minimieren. Die Formulierung nach dem Hamilton-Formalismus bringt noch einen weiteren sehr entscheidenden Vorteil. Hamilton-Gleichungen sind forminvariant gegenüber Punkttransformationen. Man kann also ohne großen Aufwand einen neuen Satz von verallgemeinerten Koordinaten und Impulsen einführen. 7.2.4 Regulierung Im Folgenden werden nach Levi-Civita[8] komplexe Zahlen zur Beschreibung einer Koordinaten im R2 benutzt. Der Vektor (x0 , x1 ) entspricht z.B. der komplexen Zahl x = x0 + ix1 . Um also die Beinahkollision der Massen m0 und m1 zu regulieren wird die Abbildung X = x2 eingeführt. Die Wurzel vergrößert die sehr kleinen Abstände bei einer Beinah-Kollision. Dazu muss weiterhin eine fiktive Zeit s einführen, die durch dt = |X| ds definiert ist. Für den beschriebenen Fall, in dem drei Körper und zwei generalisierte Koordinaten vorliegen, wird eine Verallgemeinerung der Transformation von Levi-Civita nach Waldvogel [18] benutzt. An Stelle der Variablen X, Y und der Zeit t werden die neuen Koordinaten x, y und die verallgemeinerte Zeit s eingeführt als − 2 2 2 2 x y x − y2 X= , Y = und dt = r0 r1 r2 ds. 2 2 Der Grund für diese Wahl liegt in der Differenz zwischen X und Y für die gilt Y − X = (xy)2 . (7.3) Damit lassen sich die alten Koordinaten X und Y mit dem gerade beschriebenen Effekt als Summen von Quadraten darstellen. Weiterhin müssen auch neue verallgemeinerte Impulse p ∈ C und q ∈ C eingeführt werden. Und zwar so, dass die Transformation der Koordinaten (X, Y, P, Q) in die Koordinaten (x, y, p, q) kanonisch ist. Nach [18] gilt dann p P = ĀT q Q mit A= ∂X ∂x ∂Y ∂x ∂X ∂y ∂Y ∂y ! = x(x2 − y 2 ) x(x2 + y 2 ) −y(x2 − y 2 ) y(x2 + y 2 ) wobei ĀT das Komplex-Konjugierte von A bezeichnet. Die regulierten Bewegungsgleichungen sind dann ∂K dy ∂K dq ∂K dq ∂K dt dx = , = , =− , =− und = r 0 r1 r2 . ds ∂p ds ∂q ds ∂y ds ∂y ds (7.4) 7.2. EIN SPEZIALFALL DES DREIKÖRPERPROBLEMS 81 mit K = r0 r1 r2 (H − E). Dabei ist H die alte Hamiltonfunktion nach (7.2) und E die Gesamtenergie des Systems. Die Hauptarbeit besteht jetzt darin, jeweils die rechten Seiten der Gleichungen in (7.4), also den Gradienten von K zu berechnen. Derartige umfangreiche Berechnungen können z.B. mit einem Computeralgebra-Programm wie Maple ausgeführt werden. Diese Funktion soll im weiteren Verlauf als ’threebp’ bezeichnet werden. In [14] wird ausführlich beschrieben, wie man mit MAPLE diese Funktion erstellen kann. 7.2.5 Lösung Nun lassen sich die Anfangswerte mit den neuen Koordinaten bestimmen. Es gilt die Transformationsvorschrift q q √ √ √ √ Y + X und y = Y − X. x= Dann ergeben sich die Startwerte x = 1.5594395315555318362 + i · 1.0087804965427521214 y = 0.13280847188730666477 + i · 1.1966000386838271257 m0 m2 m1 m2 −769 m0 m1 + + = E = V (0) = − d2 d1 d0 60 (Zum Zeitpunkt t = 0 gibt es nur potentielle Energie.) Mit diesen neuen Startwerten und der regulierten Funktion (’threebp’) aus Abschnitt 7.2.3 kann ode113 erneut gestartet werden. >>global m0 m1 m2 EE; >>m0=5 m1=3 m2=4; >>p10 = 0; q10 = 0; p20 = 0; q20 = 0; >>x10 = 1.5594395315555318362; x20 = 1.0087804965427521214 >>y10 = 0.13280847188730666477; y20 = 1.1966000386838271257 >>EE = -769/60; >>options=odeset(’RelTol’,1e-10,’AbsTol’,1e-10); >>[T1,Y1]=ode113(’threebp’,[0 7.98],[x10,x20,y10,y20,p10,p20,q10,q20,0],options) Der Bereich 0 bis 8 entspricht in der realen Zeit in etwa einem Bereich von 0 bis 60 Zeiteinheiten. Ein Pentium 233 benötigt für die Berechnung der Daten dann ca. 35 Sekunden. ode113 benötigt insgesamt 2576 Integrationsschritte. 7.2.6 Rücktransformation Mit den transformierten Werten lässt sich allerdings noch nicht viel anfangen. Wie in Abschnitt 5.2.5 müssen alle Werte in auf die ursprünglichen Koordinaten zurück transformiert werden. MATLAB erledigt das mit den folgenden Schritte: >>x = Z(:,1)+i*Z(:,2); >>y = Z(:,3)+i*Z(:,4); >>X = (x.^2-y.^2).^2/4; KAPITEL 7. DAS DREIKÖRPERPROBLEM 82 >>Y = (x.^2+y.^2).^2/4; >>x0 = -(m1*X+m2*Y) / (m0+m1+m2); >>x1 = x0 + X; >>x2 = x0 + Y; Diese Zeilen dokumentieren zudem die großen Vorteile von MATLAB im Umgang mit Vektoren und Matrizen. Nun können die Bahnen betrachtet und ausgewertet werden. 7.2.7 Beurteilung der Ergebnisse Die Abbildungen 7.5 und 7.6 verdeutlichen den Vorteil, den die Regulierung gebracht hat. Bei dem Verfahren mit nicht-regulierten Koordinaten (Abbildung 7.6) ist die Schrittweite zum Teil über hunderte von Schritten (z.B. von Schritt 2800 bis Schritt 3200) so klein ist, dass die Zeit praktisch nicht mehr voran schreitet. Wie in Abschnitt 5.2 beschrieben, entstehen an diesen Stellen Fehler, die auch durch noch kleinere Schrittweiten nicht aufgefangen werden können. Die Schrittweiten des Verfahren mit regulierten Koordinaten erreichen nie derart kleine Werte. Die Zeit schreitet viel gleichmäßiger voran. Das Diagramm zeigt aber auch das bereits beschriebene Problem, dass Auftritt, wenn sich die Körper voneinander entfernen. Ideal ist somit ein Verfahren mit regulierten und nicht-regulierten Koordinaten, 0.1 Schrittweiten Zeitverlauf 0.08 0.06 0.04 0.02 0 0 500 1000 1500 2000 2500 Abbildung 7.5: regulierte Schrittweiten dass nur in kritischen Situationen reguliert. Im Folgenden werden die drei Körper noch in einigen Zeitintervallen gezeigt. So z.B. in Abbildung 7.7. Die Massen m0 und m2 aus ihrer Ausgangsposition heraus aufeinander zu und sehr eng aneinander vorbei. In Abbildung 7.8 werden die Bahnen im Bereich 50 < t < 60 gezeigt. Es verdeutlicht, dass die Anfangswerte nicht in eine periodische Bahn mündet. Vielmehr wird m2 so stark beschleunigt, dass sie nicht mehr zu den an- 7.2. EIN SPEZIALFALL DES DREIKÖRPERPROBLEMS 83 0.08 Schrittweite Zeitverlauf 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 0 2000 4000 6000 8000 10000 12000 Abbildung 7.6: nichtregulierte Schrittweiten 2 s 1.5 m0 m1 m2 Start min. Entf. b 1 s b 0.5 b b b b 0 b b b −0.5 s b b s −1 −1.5 −1.5 b −1 −0.5 0 0.5 1 Abbildung 7.7: Bahnen im Zeitraum 2 < t < 4 1.5 2 KAPITEL 7. DAS DREIKÖRPERPROBLEM 84 deren Masse zurückkehrt. Das ist ein ähnlicher Effekt, wie er in 7.1 beschrieben wird. 2 1 m0 m1 m2 Start s s s 0 −1 −2 −3 −4 −5 −3 s −2.5 −2 −1.5 −1 −0.5 0 0.5 Abbildung 7.8: Bahnen im Zeitraum 50 < t < 60 1 1.5 2 Anhang A Numerik mit Excel Excel ist eine bekannte und verbreitete Tabellenkalkulation. Es beinhaltet auch die Programmiersprache VBA (Visual Basic for Applications), eine Weiterentwicklung der bekannten Sprache Basic, mit einer sehr komfortablen Programmierumgebung. VBA kann Daten aus den Arbeitsmappen der Tabellenkalkulation lesen und auch in die Tabellen schreiben. Das bietet den Vorteil, die errechneten Werte sofort bearbeiten zu können. Diagramme und Animationen können einfach erstellt und formatiert werden. A.1 VBA VBA ist automatisch in Excel enthalten und kann über [Extras]→[Makro]→[Visual Basic–Editor] und alternativ über [Alt]+[F11] aufgerufen werden. Um die Programmierung zu erläutern, wird der Programmcode des emphRunge–KuttaVerfahrens gezeigt. Public Maxfehler ’### maximaler Fehler ’############################################## ’### Das Hauptprogramm Sub start() Maxfehler = 10 ^ (-NNN) ’### Fehler festlegen DatenFestlegen ’### Startdaten einlesen H = 0.1 ’### Schrittweite AktZeit = 0 ’### Startzeit Endzeit = 63 ’### und Endzeit Do While AktZeit < Endzeit Temp1 = Planet ’### 1. Näherung Temp1 = Voraussage(H, Temp1) Temp2 = Planet ’### 2.Näherung For b = 0 To 1 Temp2 = Voraussage(H / 2, Temp2) Next b ’### Schritt bewerten Temp = BewertungSchritt(Temp1, Temp2) 85 86 ANHANG A. NUMERIK MIT EXCEL If Temp < 2 Then ’### Schritt annehmen AktZeit = AktZeit + H Planet = Temp2 ’### Wert übernehmen End If H = 2 * H / Temp ’### neue Schrittweite Loop End Sub ’############################################## ’### Bewertet die errechneten Werte Function BewertungSchritt(w1 As Werte, W2 As Werte) As Double BewertungSchritt = 0 For b = 0 To 11 Temp = 2 ^ 4 / (2 ^ 4 - 1) * Abs(w1.Wert(b) - W2.Wert(b)) / Maxfehler If Not Temp = 0 Then Temp = Exp(Log(Temp) / 5) If Temp > BewertungSchritt Then BewertungSchritt = Temp Next b If BewertungSchritt = 0 Then BewertungSchritt = 1 End Function ’############################################## ’### Sagt Werte in "schritt" Zeiteinheiten voraus Function Voraussage(schritt As Double, StartWerte As Werte) As Werte Konst = schritt ^ 2 / 2 Voraussage = StartWerte For a = 0 To 5 ’### T’s bestimmen t(a, 0) = Voraussage.Wert(a) + schritt * Voraussage.Wert(a + 6) / 2 t(a, 1) = Voraussage.Wert(a) + schritt * Voraussage.Wert(a + 6) Next a ’### Funktionswerte bestimmen FWerte = Funktion(Voraussage) ’### k1 rausfinden und neue Werte Planet berechnen For a = 0 To 5 k(a, 0) = Konst * FWerte.Wert(a) Voraussage.Wert(a) = t(a, 0) + k(a, 0) / 4 Next ’### Funktionswerte bestimmen FWerte = Funktion(Voraussage) ’### k2 rausfinden und neue Werte Planet berechnen For a = 0 To 5 k(a, 1) = Konst * FWerte.Wert(a) Voraussage.Wert(a) = t(a, 1) + k(a, 1) Next a ’### Funktionswerte bestimmen FWerte = Funktion(Voraussage) ’### k4 rausfinden und endgültige Werte berechnen A.2. ANIMATIONEN 87 For a = 0 To 5 k(a, 3) = Konst * FWerte.Wert(a) Voraussage.Wert(a) = t(a, 1) + (k(a, 0) + 2 * k(a, 1)) / 3 Voraussage.Wert(a + 6) = StartWerte.Wert(a + 6) + _ (k(a, 0) + 4 * k(a, 1) + k(a, 3)) / 3 / schritt Next End Function ’############################################## ’### Funktion der Differentialgleichung Function Funktion2(Planet1 As Werte) As Werte ’### Abstände Dist(0) = Sqr((Planet1.Wert(2) - Planet1.Wert(4)) ^ 2 + _ (Planet1.Wert(3) - Planet1.Wert(5)) ^ 2) ^ 3 Dist(1) = Sqr((Planet1.Wert(0) - Planet1.Wert(4)) ^ 2 + _ (Planet1.Wert(1) - Planet1.Wert(5)) ^ 2) ^ 3 Dist(2) = Sqr((Planet1.Wert(0) - Planet1.Wert(2)) ^ 2 + _ (Planet1.Wert(1) - Planet1.Wert(3)) ^ 2) ^ 3 For a = 0 To 1 ’### Kraft auf Masse 0 Funktion2.Wert(0 + a) = _ Masse(1) * (Planet1.Wert(2 Masse(2) * (Planet1.Wert(4 ’### Kraft auf Masse 1 Funktion2.Wert(2 + a) = _ Masse(0) * (Planet1.Wert(0 Masse(2) * (Planet1.Wert(4 ’### Kraft auf Masse 2 Funktion2.Wert(4 + a) = _ Masse(0) * (Planet1.Wert(0 Masse(1) * (Planet1.Wert(2 Next a End Function + a) - Planet1.Wert(0 + a)) / Dist(2) + _ + a) - Planet1.Wert(0 + a)) / Dist(1) + a) - Planet1.Wert(2 + a)) / Dist(2) + _ + a) - Planet1.Wert(2 + a)) / Dist(0) + a) - Planet1.Wert(4 + a)) / Dist(1) + _ + a) - Planet1.Wert(4 + a)) / Dist(0) A.2 Animationen Mit VBA und Excel können Animationen einfach erstellt werden. Unter http://www.cip.mathematik.unistuttgart.de/ heidemjn/staatsexamen befindet sich eine Excel–Arbeitsmappe, die eine Animation enthält. Die Bewegung wird dadurch erzeugt, dass in Excel ein Diagramm erzeugt wird und VBA diesem Diagramm Schritt für Schritt neue Werte zuordnet. Diese Methode funktioniert auf zügigen Rechnern anstandslos. Sie ist leicht umzusetzen und an die Bedürfnisse anzupassen. In der Datei ist der Programmcode offen einzusehen und kann nach belieben abgewandelt werden. 88 ANHANG A. NUMERIK MIT EXCEL Anhang B Excel und LATEX Alle Tabellen und Diagramme sowie fast alle Ergebnisse in dieser Arbeit wurden mit der Tabellenkalkulation Excel97 von Microsoft erstellt. Tabellenkalkulationen können große Menge einfach strukturierter Daten, wie sie beim Dreikörperproblem auftreten, sehr komfortabel bearbeiten. Als Textsatzsystem diente LATEX, das für seinen hervorragenden Text– und Formelsatz bekannt ist. Um diese zwei Produkte miteinander zu verknüpfen habe ich 2 Programme erstellt, die Tabellen und Diagramme aus einem Excel–Arbeitsblatt heraus für LATEX erstellen können. Diese Programme lassen sich als sogenanntes Add–In in Excel einbinden. Unter http://www.cip.mathematik.uni-stuttgart.de/~heidemjn/staatsexamen steht diese Datei frei und mit Quellcode zur Verfügung. B.1 Tabellen Ein Excel-Arbeitsblatt ist eine Tabelle mit Zeilen und Spalten wie in Abbildung B.1 dargestellt. Es ist also kein Problem eine Tabelle zu erstellen und zu formatieren. Ist das oben beschriebene Add-In eingebunden, so erscheint in der Bedienleiste der Unterpunkt „Tex Hilfsmittel“. Wählt man den Punkt „Tabelle erstellen“, so wird der markierte Bereich für LATEX aufgearbeitet. Die Daten stehen dann in einer Datei „auto.tex“ in einem frei wählbaren Ordner und können mit den Befehlen \begin{table}[htbp] \begin{center} \input{e:/projekte/staatsexamen/tabellen/Auto.tex} \caption{Beispieltabelle} \label{tab:Beispieltabelle} \end{center} \end{table} eingebunden werden. Das Ergebnis ist dann Tabelle B.1. Eine Tabellenkalkulation eignet sich zudem hervorragend, um komplizierte Verfahren wie das Runge–Kutta-Verfahren aus Abschnitt 4.8 mit einfachen Daten auszuprobieren. In einer Tabelle kann das Verfahren Schritt für Schritt durchgespielt werden, bevor es „richtig“ programmiert wird. 89 ANHANG B. EXCEL UND LATEX 90 Abbildung B.1: Erstellen einer Tabelle Autos Typ Marke VW Golf Polo Jetta Opel Vectra Kadett Leistung in 55 65 75 85 90 J s Werte Höchstgeschwindigkeit in ms−1 140 150 160 150 160 Tabelle B.1: Beispieltabelle B.2. DIAGRAMME 91 B.2 Diagramme Diagramme sind wesentlich komplexer als Tabellen. Ich habe deshalb das Programm GnuPlot verwendet, um Excel-Diagramme für LATEX aufzubereiten. Gnuplot ist freie Software und kann unter http://www.cs.dartmouth.edu/gnuplot_info.html heruntergeladen werden. Um ein LATEX–Diagramm zu erstellen, erstellt man wie gewohnt eine Excel– Diagramm (siehe Abb. B.2), markiert das Diagramm und wählt die Option „Diagramm erstellen“. Nun werden die Excel–Daten in einzelne Dateien geschrieben und eine Da- Abbildung B.2: Erstellen eines Diagramms tei mit Anweisungen für GnuPlot erstellt. Das Ergebnis kann mit den Befehlen \begin{figure}[htbp] \begin{center} \input{../diagramme/ExcelLatex/ExcelLatex.tex} \caption{Beispieldiagramm} \label{dia:ExcelLatex} \end{center} \end{figure} eingebunden werden und ist in Tabelle B.3 zu sehen. Der Vorteil ist, dass in Excel das Diagramm sehr schnell und bedienerfreundlich formatiert werden kann. Mit dem Add– In können Änderungen unverzüglich in das LATEX–Dokument übernommen werden. ANHANG B. EXCEL UND LATEX 92 6 t=1 t=2 t=3 5 4 3 2 1 0 −1 −2 −3 0 0.5 1 1.5 2 Abbildung B.3: Beispieldiagramm 2.5 3 Literaturverzeichnis [1] A. Budo. Theoretische Mechanik. Robert Rompe und Ernst Schmutzer, 3. edition, 1965. [2] Carl Burrau. Numerische berechnung eines spezialfalles des dreikörperproblems. Astronomische Nachrichten 195, page 113, 1913. [3] L. Collatz. Numerische Behandlung von Differentialgleichungen. Verlag, 2. edition, 1955. Springer- [4] Prof. Dr. Horst Stöcker et al. Taschenbuch der Physik. Verlag Harri Deutsch, 2. edition, 1994. [5] H. Heuser. Lehrbuch der Analysis, volume 1. B. G. Teubner Stuttgart, 11. edition, 1994. [6] Klaus Höllig. Grundlagen der Numerik. Math Text, Zavelstein, 1998. [7] Friedhelm Kuypers. Klassische Mechanik. Physik Verlag, 1983. [8] T. Levi-Civita. Sur la régularisation du problème des trois corps. Acta Math. 42, 1920. [9] L.F. und M.K. Gordon Shampine. Computer Solution of Ordinary Differential Equations: the Initial Value Problem. W. H. Freeman, San Francisco, 1975. [10] V. Szebehely and C.F. Peters. Theory of Orbits. Academic Press, 1967. [11] Victor G. Szebehely. Adventures in Celestial Mechanics. University of Texas Press, 1. edition, 1989. [12] Paul A. Tipler. Physik. Spektrum, 1. edition, 1994. [13] Walter Krämer und Götz Trenkler. Lexikon der populären Irrtümer. Eichborn, 8. edition, August 1996. [14] D. Gruntz und J. Waldvogel. Orbits in the three-body problem. Aus [15, Chapter 4]., 1997. [15] Walter Gander und Jirí Hrebícek. Solving problems in scientific computing using Maple and MATLAB. Springer, 3. edition, 1997. [16] Josef Stoer und Roland Burlisch. Numerische Mathematik 2. Springer Verlag, 2. edition, 1990. 93 94 LITERATURVERZEICHNIS [17] H. Vogel. Gerthsen Physik. Springer, 19. edition, 1997. [18] J. Waldvogel. A New Regularisation of the Planar Problem of Three Bodies. Celest. Mech. 6, 1972. [19] Matlab the language of technical computing. http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/ref/refbook.pdf. Eine ausführliche Beschreibung von ode113 liegt in [9] vor. LITERATURVERZEICHNIS 95 Erklärung h erkläre, dass ich die Arbeit selbständig und nur mit den angegebenen Hilfsmitteln angefertigt habe und dass alle Stellen, die dem Wortlaut und dem Sinne nach anderen Werken entnommen sind, durch Angabe der Quellen als Entlehnung kenntlich gemacht worden sind.