I Neunte Übungseinheit Inhalt der neunten Übungseinheit: Gewöhnliche Differentialgleichungen erster Ordnung I. Gewöhnliche Differentialgleichungen erster Ordnung Aufgabenstellung: Explizite gewöhnliche Differentialgleichung. Ordnung mit Anfangsbedingung Gesucht ist eine Funktion y = y(x). Sie soll erfüllen y (x) = f(x,y(x)) y(x ) = y Differentialgleichung Anfangsbedingung I.. Einschrittverfahren Bei der numerischen Lösung einer DG bestimmt man ausgehend von den Anfangsbedingungen eine Folge von Wertepaaren (x,y ),(x,y ),(x 2,y 2 ),..., die den Verlauf der gesuchten Funktion y = y(x) annähern sollen. Schema: Wähle Schrittweite h und maximale Schrittzahl N; setze x und y laut Anfangsbedingung; für i =,,...,N x i+ = x i +h ; y i+ = y i +hf(x i,y i,h). Dabei ist F(x,y,h) die Fortschreit-Richtung. Die verschiedenen Verfahren unterscheiden sich in der Definition der Fortschreit-Richtung. Nur beim expliziten Euler-Verfahren ist die Fortschreit- Richtung im Punkt (x;y) auch gleich der Steignug y (x,y), also F(x,y,h) = f(x,y), Andere Verfahren versuchen, die Fortschreit-Richtung besser an den Verlauf der Lösung anzupassen. Beim modifizierten Euler-Verfahren ist F(x,y,h) = f (x+ h2,y + h2 ) f(x,y), beim Verfahren von Heun F(x,y,h) = 2 (k +k 2 ) mit k = f(x,y) k 2 = f(x+h,y +hf(x,y)). Dazu gibt es ein Musterprogramm GDGdemo.m zum Herunterladen! I..2 Handrechnung Die numerische Lösung einer Differentialgleichung durch händische Rechnung dient heutzutage nur mehr der Illustration der Rechenverfahren. Die praktische Durchführung überlassen Sie dem Computer. Ihr Verständnis für die Rechenverfahren müssen Sie aber zumindest bei der 44
Vorlesungsprüfung dadurch demonstrieren, dass Sie einige Rechenschritte selbst auf dem Papier ausarbeiten. Ein Beispiel sei das Anfangswertproblem y = 4xy +3 y() = In diesem Fall ist also f(x,y) = 4xy +3 und x = y =. Wir wollen mit Schrittweite h =,2 den Wert der Funktion y(x) an den Stellen x =,2 ; x 2 =,4 ; x 3 =,6 näherungsweise bestimmen. Die exakte Lösung ist bekannt, aber nicht durch elementare Funktionen angebbar; auf sechs Nachkommastellen genau beträgt y(,6) = 2,97344. Ein tabellarisches Rechenschema ist hilfreich. Beachten Sie: Die vorletzte Spalte berechnet immer die Fortschreit-Richtung F, die letzte Spalte entspricht dem allgemeinen Schritt y i+ = y i + hf(x i,y i,h), in einfachen Worten: neuer y-wert = alter Wert plus h mal Fortschreit- Richtung F Für das explizite Euler-Verfahren: i x y F = f(x,y) = 4xy +3 y +hf 2 Modifiziertes Euler-Verfahren: i x y k = f(x,y) y + h 2 k F = f(x+ h 2,y + h 2 k ) y +hf 2 Verfahren von Heun: x y k = f(x,y) y +hk k 2 = f(x+h,y +hk ) F = (k +k 2 )/2 y +hf Aufgabe 72 Einfache Einschrittverfahren programmieren Verwenden Sie das Musterprogramm GDGdemo.m und berechnen Sie für das oben gegebene Beispiel den Wert y(,6) mit verschiedenen Schrittweiten und verschiedenen Verfahren:. Rechnen Sie mit h =,2 und den drei obigen Verfahren. (Vergleichen Sie mit den Werten aus der Handrechnung.) Implementieren Sie auch das dreistufige Verfahren k = f(x,y) k 2 = f(x+ h 2,y + h 2 k ) k 3 = f(x+h,y hk +2hk 2 ) F = 6 (k +4k 2 +k 3 ) 45
2. Rechnen Sie nun mit feinerer Schrittweite h =,5. Wie groß ist jeweils der Fehler (Differenz zwischen Näherungswert und exakter Lösung y(,6) = 2,97344? 3. Halbieren Sie die Schrittweite, rechnen Sie also mit h =,25 und vergleichen Sie die Fehler. Um welchen Faktor hat sich jeweils der Fehler reduziert? Die verscheidenen MATLAB-Löser für Anfangswertprobleme arbeiten im Prinzip wie das Demo- Programm GDGdemo.m, aber die Fortschreit-Richtung wird aus mehreren, optimal gewählten Zwischenpunkten bestimmt, der (globale) Fehler wird abgeschätzt, die Schrittweite wird automatisch angepasst. für steife Probleme gibt es Methoden (ode23s, ode5s) mit besserem Stabilitätsverhalten. I..3 Stabilität Gegeben ist das Anfangswertproblem y() = für verschiedene Werte λ R und auch λ C. Als Stabilitätsgebiet eines Verfahrens bezeichnet man die Menge aller λ, für bei Schrittweite h = die Folge der berechneten Näherungslösungen nach Null konvergiert. Die exakte Lösung des Anfangswertproblems ist natürlich y = e λx ; nur für λ < oder (falls λ C, für Re(λ) < ) gilt y, wenn x. Das Stabilitätsgebiet eines Lösungsverfahrens suchen Sie daher sinnvoller Weise nur im Bereich negativer λ-werte (oder, für komplexe λ, im Bereich der linken Halbebene der komplexen Zahlenebene. Hier sind Näherungslösungen des expliziten Euler-Verfahrens für verschiedene λ gezeichnet: Für λ =,5 monoton abnehmend, für λ =,7 oszilllierend, aber konvergent, und für λ = 2,5 oszillierend und divergent..5.5.5.5 2 3 4 5 6 7 Aufgabe 73 Stabilität expliziter Einschrittverfahren Modifizieren Sie das Musterprogramm GDGdemo.m, stellen Sie die Schrittweite h = ein und testen Sie die bisher behandelten Einschritt-Verfahren für verschiedene (auch komplexe) λ- Werte beim Anfangswertproblem y() = 46
Grenzen Sie (durch systematisches Probieren verschiedener Werte) das Stabilitätsgebiet möglichst gut ein. Aufgabe 74 Implizites Eulerverfahren Hier ist die Fortschreit-Richtung gegeben durch und der neue Näherungswert daher F(x,y,h) = f(x+h,y(x+h)) y(x+h) = y(x)+hf(x+h,y(x+h)) Das Problem ist hier, dass y(x + h) berechnet werden soll, aber zugleich auch schon rechts in f eigesetzt werden soll; die obige Formel ist also eine implizite Gleichung für y(x + h). Für einfache Funktionen f(x,y) lässt sich diese Gleichung jedoch leicht lösen. Orientieren sie sich am Musterprogramm GDGdemo.m und implementieren Sie das implizite Euler-Verfahren für das Testproblem y() = Untersuchen Sie die Stabilität dieses Verfahrens. Aufgabe 75 Lösen Sie das schon früher (Aufgabe 72) behandelte Anfangswertproblem y = 4xy +3 y() = mit dem impliziten Euler-Verfahren im Bereich x. Schrittweite h =,2. I.2 Systeme von Differentialgleichungen erster Ordnung Aufgabe 76 Populationsdynamik Ein mathematisches Modell, das Entwicklung des Bestandes zweier Arten ( Räuber und Beutetiere ) in vereinfachter Weise darstellt, wird durch das System nichtlinearer Differentialgleichungen y (t) = k y (t) k 2 y (t)y 2 (t) y 2(t) = k 3 y (t)y 2 (t) k 4 y 2 (t) ausgedrückt. Dabei stelleny (t) undy 2 (t) den zeitlichen Bestand der Beutetiere beziehungsweise der Räuber dar. Lösen Sie dieses System für t 4 unter der Annahme, daß der Anfangsbestand an Beutetieren, der der Räuber 2 und die Konstanten k = 3,k 2 =,2,k 3 =,6 und k 4 =,5 betragen. Methode: ode45. Um die Ergebnisse zu veranschaulichen, stellen Sie die Lösung, also die Anzahl der beiden Populationen versus Zeit, graphisch dar. Wiederholen Sie die Rechnung für einen Anfangsbestand von 2 Beutetieren und 5 Räubern. 47
Aufgabe 77 Schmetterlingseffekt Der Meteorologe Edward N. Lorenz formulierte 963 ein System von drei gekoppelten, nichtlinearen gewöhnlichen Differentialgleichungen zur Modellierung der Erdatmosphäre zum Zweck einer Langzeitvorhersage. dx/dt = a(y x) dy/dt = x(b z) y dz/dt = xy cz Die numerische Lösung des Systems zeigt bei bestimmten Parameterwerten chaotisches Verhalten. Die typische Parametereinstellung mit chaotischer Lösung lautet: a =, b = 28, c = 8 3 Lösen Sie dieses System für t 5, Anfangsbedingungen x = 2,y = 2,z = 4. Stellen Sie die Lösung als Kurve in Parameterform in einem xyz-koordinatensystem (Befehl plot3) dar. 5 45 4 35 3 25 2 5 5 4 2 2 4 2 5 5 5 5 2 Die Lösung ist für ihre typische Schmetterlings-Form bekannt. 48