Kurs:Gewöhnliche Differentialgleichungen/Einführung in die Einschrittverfahren

Aus testwiki
Version vom 28. Mai 2024, 22:27 Uhr von imported>Hundertm
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Wir widmen uns nun den numerischen Verfahren für die Lösung der Anfangswertaufgaben (1.6) oder der Systeme (1.7). Allgemein basieren die numerischen Lösungsmethoden auf der Diskretisierung (Zerlegung) des Definitionsbereichs der gesuchten Funktion in disjunkte Teilmengen. Gesucht werden diskrete Funktionswerte der gesuchten Funktion, zum Beispiel in den Knoten dieser Zerlegung, also in diskreten Gitterpunkten.

Im Fall einer gewöhnlichen Differentialgleichung wird das Zeitintervall (t0,T) durch die Gitterpunkte ti, i=1,Nh,Nh auf Nh Teilintervalle der Länge hi:=ti+1ti, 0<hi<Tt0 geteilt. Die Analyse der numerischen Verfahren wird deutlich vereinfacht, wenn man die Länge der Teilintervalle als konstant betrachtet, h:=ti+1ti bezeichnet dann die äquidistante Schrittlänge. Die Menge aller Knoten bildet das Gitter Gh, mit Gh:={ti=t0+ih, i=1,Nh}.(3.1)



Ist y(t) die Funktion der exakten Lösung, dann wird die durch die numerische Methode erhaltene Lösung in den Gitterpunkten ti,i=1,Nh1 eine gewisse Annäherung der exakten Funktion an diesen Stellen sein. In Folgenden wird die numerische Lösung im Gitterpunt ti als ηi bezeichnet, ηiy(ti).

Im Kapitel 1 haben wir anhand des Beispiels der Uhrkette (Tractrix) den expliziten, siehe (1.2), und den impliziten (1.4) Lösungszugang erklärt. Dabei wurde die Position der Uhr in dem neuen Zeitschritt ti+1 entweder durch Projezieren in das gegenwärtige, durch die Uhrkette erzeugte Dreieck mithilfe von gegenwärtigen Werten ηiy(ti) bestimmt (explizit), oder die Position der Uhr wurde in die Zukunft projeziert, was zur impliziten Verfahrensvorschrift (1.4) führte. Diese zwei folgenden Lösungsansätze entsprechen den einfachsten numerischen Verfahren für die Differentialgleichung (1.3) für die Uhrkette:

  • Explizites Eulerverfahren

Für t=ti+1 ersetze die Ableitung auf der linken Seite mit dem Rückwärtsdifferenzenquotient, y(ti+1)y(ti+1)y(ti)h, und werte die rechte Seite im alten Zeitpunkt ti aus. Die ursprüngliche Gleichung y(t)=f(t,y(t)) wird dann für t=ti+1 durch y(ti+1)y(ti)h=f(ti,y(ti)) ersetzt. Diese Gleichung wird aber im Allgemeinen von der exakten Lösung nicht exakt erfüllt. Man sucht nun nach der numerischen Lösung ηi, die die obige approximative Gleichung exakt erfüllt: ηi+1ηih=f(ti,ηi)  ηi+1=ηi+hf(ti,ηi),  i=0,Nh1.(3.2)


  • Implizites Eulerverfahren

Für t=ti+1 ersetze die Ableitung auf der linken Seite mit dem Rückwärtsdifferenzenquotient, y(ti+1)y(ti+1)y(ti)h, und werte die rechte Seite in dem neuen Zeitpunkt ti+1 aus. Man erhält y(ti+1)y(ti)h=f(ti+1,y(ti+1)). Wie oben wird die numerische Lösung ηi gesucht, die die obige approximative Gleichung exakt erfüllt: ηi+1ηih=f(ti+1,ηi+1)  ηi+1=ηi+hf(ti+1,ηi+1), i=1,Nh1(3.3)


Die beschriebenen Gleichungen für das (explixite/implizite) Eulerverfahren (3.2), (3.3) sind durch die Funktion der exakten Lösung y(t) nicht exakt erfüllt, da ein Diskretisierungsfehler durch den Abbruch der Taylor-Entwicklung der Ableitung y entsteht. Durch sukzessives Lösen dieser Gleichungen nach ηi+1 erhält man lediglich die numerische Lösung in den Gitterpunkten, ηi, i=1,Nh.

Das Eulerverfahren, aber auch weitere numerische Verfahren kann man mithilfe der Volterra’schen Integralgleichung (2.1) und der numerischen Quadratur erhalten. Ersetzt man das Integral titi+1f(s,y(s))ds mit der Rechteckregel, siehe Abbildungen 3.1, 3.2, erhält man entweder das explizite oder das implizite Eulerverfahren. Mithilfe der Mittelpunktregel für das Integral, siehe Abbildung 3.3, erhält man das sogenannte verbesserte Eulerverfahren (auch explizite Mittelpunktregel genannt), ηi+1=ηi+hf(ti+12,ηi+12), wobei ηi+12:=ηi+h2f(ti,ηi).(3.4)


In diesem Verfahren wird der Wert der Funktion f in der Mitte zwischen ti,ti+1 (also in ti+12:=ti+ti+12 und in ηi+12y(ti+12)) verwendet. Hier wird zur Approximation des Wertes im Mittelpunkt, y(ti+12), ein Schritt des expliziten Eulerverfahrens mit der halben Schrittlänge h2 benutzt.

Durch die Trapezregel für die numerische Integration, siehe Abbildung 3.4, erhält man folgendes Verfahren, welches auch implizite Trapezregel heißt: ηi+1=ηi+h2(f(ti,ηi)+f(ti+1,ηi+1)).(3.5)


In der expliziten Variante dieses Verfahrens würde man f(ti+1,ηi+1) mithilfe eines Schrittes des Eulerverfahrens mit f(ti+1,ηi+hf(ti,ηi)) ersetzen.
Mithilfe der Mittelpunktsregel, erhält man folgendes Verfahren, welches auch
implizite Mittelpunktregel heißt: ηi+1=ηi+hf(ti+1/2,ηi+ηi+12).(3.6)

In der expliziten Variante würde man ηi+ηi+12 durch einen halben Schritt des expliziten Eulerverfahrens mit ηi+h2f(ti,ηi) ersetzen, siehe (3.6).


Abbildung 3.1: Explizite Rechteckregel zur Approximation des Integrals I[f(x)]=abf(x)dx mit einem Quadraturknoten x0=a.

Abbildung 3.2: Implizite Rechteckregel zur Approximation des Integrals I[f(x)]=abf(x)dx mit einem Quadraturknoten x0=b.

Die eben beschriebenen numerischen Lösungsansätze benötigen für die Berechnung des Funktionswertes im neuen Gitterpunkt ti+1 nur den vorherigen Wert aus ti. Solche Verfahren nennen wir Einschrittverfahren (ESV). Die Mehrschrittverfahren (MSV) dagegen nutzen auch die Information von mehreren vorherigen Schritten ti,ti1,,tik+1, wobei k hier fest ist (k-Schrittverfahren).

Abbildungen Einschrittverfahren und Dreischrittverfahren.

In diesem Kapitel werden wir numerische Lösungsformeln für die Einschrittverfahren und deren Diskretisierungsfehler untersuchen. Dabei werden nur die numerischen Verfahren in Frage kommen, die die exakte Lösung ausreichend gut annähern.

Abbildung 3.3: Mittelpunktregel zur Approximation des Integrals I[f(x)]=abf(x)dx mit einem Knoten x0=a+b2.


Definition 3.1 (Explizites Einschnittsverfahren (ESV))


Gegeben sei die äquidistante Schrittlänge 0<hTt0, das Gitter Gh, siehe (3.1). Das explizite Einschrittverfahren ist beschrieben durch folgende iterative Vorschrift, ηi+1=ηi+hΦ(ti,ηi;h;f),i=0,,Nh1, Gleichung (3.7)

wobei Φ(,;h;f):{GhtNh}×mm die Verfahrensfunktion heißt.



Beispiel 3.1

Die Verfahrensfunktion für das explizite Eulerverfahren ist Φ(t,y;h;f)=f(t,y), und für das verbesserte (modifizierte) Eulerverfahren (3.4) Φ(t,y;h;f)=f(t+h2,y+h2f(t,y)).


Abbildung 3.4: Trapezregel zur Approximation des Integrals I[f(x)]=abf(x)dx mit zwei Knoten x0=a,x1=b.

Beispiel 3.2

Wir lösen die einfache Anfangswertaufgabe y=y,y(0)=1 mit explizitem Eulerverfahren mit konstanter Schrittweite h=TNh.
Die numerische Lösung ist: η0=1,η1=1+hf(t0,η0)=1+hη0=1+h,η2=η1+hf(t1,η1)=1+h+hη1=1+h+h(1+h)=(1+h)2,η3=η2+hf(t2,η2)=(1+h)2+hη2=(1+h)3,

Mit mathematischer Induktion kann man zeigen, dass ηi=(1+h)i, i=1,Nh. Daraus folgt, dass ηNh=(1+TNh)Nh gegen eT für Nh konvergiert. Dies entspricht der exakten Lösung y(T). Also konvergiert die numerische Lösung in einem bestimmten Zeitpunkt t=T gegen die exakte Lösung in diesem Zeitpunkt für Schrittweite h gegen Null.