3
Prof. Dr. P. E. Kloeden Dr. J. Rieger ¨ Ubungsblatt zur Vorlesung Numerische Methoden f¨ ur Differentialgleichungen Abgabe der Aufgaben bis 10:15 am 7.6.2012. Alle Aufgaben sind inklusive Programm- code und MATLAB-Ausgabe in Papierform abzugeben. Der Programmcode ist den Tuto- ren noch einmal separat per Mail zuzuschicken. Aufgabe 6.1 (Runge-Kutta-Verfahren unter linearen Transformationen) Sei f : × d d glatt, sei x : [0,T ] d eine L¨ osung von x 0 (t)= f (t, x(t)), x(0) = x 0 , (*) und sei M d×d eine invertierbare Matrix. a) Welche Dgl l¨ ost die Funktion y(t) := Mx(t)? b) Sei Φ die Inkrementfunktion eines s-stufigen, m¨ oglicherweise impliziten Runge-Kutta-Verfahrens zur L¨ osung von (*), und sei Ψ die Inkrement- funktion desselben numerischen Verfahrens angewendet auf diejenige Dgl, die von y gel¨ ost wird. Zeigen Sie, dass zwischen Φ und Ψ eine ¨ ahnliche Beziehung besteht wie zwischen f und der rechten Seite der Dgl, die y ost. Sie d¨ urfen annehmen, dass die Gleichungen, ¨ uber die die Verfahren Φ und Ψ definiert sind, stets eindeutige L¨ osungen besitzen. (6 Punkte) Aufgabe 6.2 (Explizite Runge-Kutta-Verfahren f¨ ur lineare Dgl) Sei x : [0,T ] d eine L¨ osung der linearen Dgl x 0 (t)= Ax(t), x(0) = x 0 mit einer beliebigen Matrix A d×d .

Ubungsblatt zur Vorlesung Numerische Methoden fur Di ...numerik/lehre/Vorlesungen/NMDE_12/... · { Beachten Sie, dass Sie f ur RK2 und RK3 die Anzahl der Schritte N ver andern m ussen,

  • Upload
    lyliem

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ubungsblatt zur Vorlesung Numerische Methoden fur Di ...numerik/lehre/Vorlesungen/NMDE_12/... · { Beachten Sie, dass Sie f ur RK2 und RK3 die Anzahl der Schritte N ver andern m ussen,

Prof. Dr. P. E. KloedenDr. J. Rieger

Ubungsblatt zur Vorlesung

Numerische Methoden fur

Differentialgleichungen

Abgabe der Aufgaben bis 10:15 am 7.6.2012. Alle Aufgaben sind inklusive Programm-

code und MATLAB-Ausgabe in Papierform abzugeben. Der Programmcode ist den Tuto-

ren noch einmal separat per Mail zuzuschicken.

Aufgabe 6.1 (Runge-Kutta-Verfahren unter linearen Transformationen)Sei f : R×Rd → R

d glatt, sei x : [0, T ]→ Rd eine Losung von

x′(t) = f(t, x(t)), x(0) = x0, (∗)

und sei M ∈ Rd×d eine invertierbare Matrix.

a) Welche Dgl lost die Funktion y(t) := Mx(t)?

b) Sei Φ die Inkrementfunktion eines s-stufigen, moglicherweise implizitenRunge-Kutta-Verfahrens zur Losung von (∗), und sei Ψ die Inkrement-funktion desselben numerischen Verfahrens angewendet auf diejenigeDgl, die von y gelost wird. Zeigen Sie, dass zwischen Φ und Ψ eineahnliche Beziehung besteht wie zwischen f und der rechten Seite derDgl, die y lost.

Sie durfen annehmen, dass die Gleichungen, uber die die Verfahren Φund Ψ definiert sind, stets eindeutige Losungen besitzen.

(6 Punkte)

Aufgabe 6.2 (Explizite Runge-Kutta-Verfahren fur lineare Dgl)Sei x : [0, T ]→ R

d eine Losung der linearen Dgl

x′(t) = Ax(t), x(0) = x0

mit einer beliebigen Matrix A ∈ Rd×d.

Page 2: Ubungsblatt zur Vorlesung Numerische Methoden fur Di ...numerik/lehre/Vorlesungen/NMDE_12/... · { Beachten Sie, dass Sie f ur RK2 und RK3 die Anzahl der Schritte N ver andern m ussen,

a) Zeigen Sie, dass jedes explizite s-stufige Runge-Kutta-Verfahren mitkonstanter Schrittweite h > 0 als eine Rekursion

xn+1 = Bxn, n = 0, 1, 2, . . .

geschrieben werden kann, wobei B = q(hA) und q ein Polynom hochs-tens vom Grad s ist.

b) Nennen Sie die Polynome qE und qH , die zum Euler- und zum Heun-Verfahren gehoren. Erkennen Sie ein Bildungsgesetz? Setzen Sie diesesGesetz zu Ihnen bekannten Fakten uber lineare Dgls in Beziehung.

(6 Punkte)

Aufgabe 6.3 (Eingebettete Runge-Kutta-Verfahren)

a) Schreiben Sie eine MATLAB-Funktion

[T,X,e]=EmbeddedRK(f,t0,t,x0,h0,tol),

die als Parameter die rechte Seite f der Dgl (∗), die Anfangszeit t0,die Endzeit t, den Anfangswert x0, die Anfangsschrittweite h0 und dieerlaubte Fehlertoleranz tol verlangt und das Zeitgitter T, die Wertedes eingebetteten Runge-Kutta-Verfahrens ’Verfahren ohne Name’ vonS.66 im Skript sowie die Anzahl der benotigten Aufrufe der rechtenSeite f zuruckgibt.

– Verwenden Sie zur Steuerung der Schrittweite den auf S.65 imSkript angegebenen Algorithmus: Halbiere h, wenn Fehlerschatzer >tol, verdoppele h, wenn Fehlerschatzer ≤ 1

16tol.

– Beachten Sie, dass T nun nicht mehr aquidistant ist und die An-zahl der benotigten Aufrufe der rechten Seite vom Verlauf derSchrittweitensteuerung abhangt!

– Brechen Sie ab, wenn Ihr Algorithmus die Endzeit t erreicht oderuberschreitet.

– Achten Sie darauf, die Funktion f nicht ofter aufzurufen als un-bedingt notig!

b) Testen Sie Ihr Verfahren, indem Sie es auf die skalare Dgl

x′(t) = x(1− x) (∗∗)

anwenden. Verwenden Sie die Parameter t0 = 0, t = 4.3, x0 = 0.1,h0 = 0.2 und tol = 1e-6.

Page 3: Ubungsblatt zur Vorlesung Numerische Methoden fur Di ...numerik/lehre/Vorlesungen/NMDE_12/... · { Beachten Sie, dass Sie f ur RK2 und RK3 die Anzahl der Schritte N ver andern m ussen,

Plotten Sie Ihre Losung mit dem Befehl plot(T,X,’o’). Beschreiben Sie IhrResultat. Ist die Wahl der Schrittweiten plausibel?

(6 Punkte)

Aufgabe 6.4 (Konvergenzeigenschaften eingebetteter Runge-Kutta-Verfahren)

a) Schreiben Sie MATLAB-Funktionen [T,X]=RK2(f,t0,t,x0,N) sowie[T,X]=RK3(f,t0,t,x0,N), in denen Sie die beiden numerischen Ver-fahren mit p = sp = 2 und q = sq = 3 implementieren, aus denen das’Verfahren ohne Name’ zusammengesetzt ist.

b) Bestimmen Sie die exakte Losung von (∗∗) mit x(0) = 0.1 mit Hilfeeiner Software wie Wolfram Alpha und uberzeugen Sie sich von derRichtigkeit Ihrer Losung.

c) Fertigen Sie ahnlich wie in Aufgabe 4.2 einen Konvergenzplot fur dieVerfahren RK2, RK3 und EmbeddedRK an.

– Verwenden Sie die Dgl (∗∗) mit t0 = 0, t = 4.3, x0 = 0.1, h0 = 0.2als Testgleichung.

– Beachten Sie, dass Sie fur RK2 und RK3 die Anzahl der SchritteN verandern mussen, wahrend bei EmbeddedRK die Toleranz tol

variiert. Benutzen Sie N = 2i und tol = 10−i, i = 0, 1, . . . , 11.

– Messen Sie den Aufwand aller drei Verfahren in Auswertungenvon f, um einen fairen Vergleich zu gewahrleisten.

– Erstellen Sie eine Legende.

(6 Punkte)