Übungsblatt 8 – Musterlösung - WebHome · Toleranz erfolgreiche Schritte verworfene Schritte...

10
Numerik gewöhnlicher Differentialgleichungen MA2304 - SS16 Übungsblatt 8 – Musterlösung Aufgabe 37 (Schrittweitensteuerung) Im Folgenden soll die Differenzialgleichung y (t)= f (t, y(t)) = 5 sign(t)y, y(1) = e 5 , im Zeitintervall t [1, 1] mittels eines adaptiven Runge–Kutta–Verfahrens numerisch gelöst werden. a) Implementieren Sie das FSAL–RK–Verfahren von Bogacki–Shampine mit dem Butcher– Schema: 0 1 2 1 2 3 4 0 3 4 1 2 9 1 3 4 9 p =3 2 9 1 3 4 9 ˆ p =2 11 72 5 12 5 9 1 8 Nutzen Sie dabei die FSAL Eigenschaft des Verfahrens für die Auswertung von k 1 . Implementieren Sie jeweils eine separate Funktion für f (·, ·) und für die exakte Lösung y(t). b) Die Berechnung der neuen Schrittweite soll nach den folgenden Kriterien erfolgen, siehe auch das folgende Schema aus [Dahmen&Reusken, Springer (2006)]: Seien ˆ y i und y i die Approximationen der Lösung y(t), welche mittels der Verfahrungen der Ord- nung ˆ p und p aus dem obigen Butcher–Schema berechnet wurden.. Evaluiere s(h)= |y i+1 ˆ y i+1 |. Die neue Schrittweite (verfeinert oder vergrö- bert!) ist dann gegeben durch: α = min α max , max α min , p TOL · h old s(h) , h = max(βαh old ,h min ), h neu = min(h, h max ,T t i ). 1

Transcript of Übungsblatt 8 – Musterlösung - WebHome · Toleranz erfolgreiche Schritte verworfene Schritte...

Numerik gewöhnlicherDifferentialgleichungen

MA2304 - SS16

Übungsblatt 8 – Musterlösung

Aufgabe 37 (Schrittweitensteuerung)

Im Folgenden soll die Differenzialgleichung

y′(t) = f(t, y(t)) = −5 sign(t)y, y(−1) = e−5,

im Zeitintervall t ∈ [−1, 1] mittels eines adaptiven Runge–Kutta–Verfahrens numerischgelöst werden.

a) Implementieren Sie das FSAL–RK–Verfahren von Bogacki–Shampine mit dem Butcher–Schema:

012

12

34

0 34

1 29

13

49

p = 3 29

13

49

p = 2 1172

512

59

−18

Nutzen Sie dabei die FSAL Eigenschaft des Verfahrens für die Auswertung vonk1. Implementieren Sie jeweils eine separate Funktion für f(·, ·) und für die exakteLösung y(t).

b) Die Berechnung der neuen Schrittweite soll nach den folgenden Kriterien erfolgen,siehe auch das folgende Schema aus [Dahmen&Reusken, Springer (2006)]:

• Seien yi und yi die Approximationen der Lösungy(t), welche mittels der Verfahrungen der Ord-nung p und p aus dem obigen Butcher–Schemaberechnet wurden..

• Evaluiere s(h) = |yi+1 − yi+1|.

• Die neue Schrittweite (verfeinert oder vergrö-bert!) ist dann gegeben durch:

α =min

(αmax,max

(αmin,

p

√TOL · hold

s(h)

)),

h =max(β α hold, hmin),

hneu =min(h, hmax, T − ti).

1

c) Wählen Sie als Parameter für die Schrittweitensteuerung hmin = 1e− 5, hmax = 0.1,αmin = 0.2, αmax = 5, β = 0.9 und führen Sie die Rechnungen mit den ToleranzenTOL = 10−2 . . . 10−5 durch. Stellen Sie jeweils die Lösung sowie den Verlauf derSchrittweite hi und den relativen Fehler e(ti) =

|y(ti)−yi||y(ti)|

grafisch dar. Berechnen Siedabei auch die Anzahl der Auswertungen der rechten Seite.

Lösung 37 (Schrittweitensteuerung)

Siehe Matlab-files.

-1 -0.5 0 0.5 1t

0

0.2

0.4

0.6

0.8

1approx. solution, TOL=0.001

yexact

yhRK32

-1 -0.5 0 0.5 1t

10 -3

10 -2

10 -1step size h

i

-1 -0.5 0 0.5 1t

10 -3

10 -2

10 -1error e(t

i)

-1 -0.5 0 0.5 1t

0

0.2

0.4

0.6

0.8

1approx. solution, TOL=0.0001

yexact

yhRK32

-1 -0.5 0 0.5 1t

10 -4

10 -3

10 -2

10 -1step size h

i

-1 -0.5 0 0.5 1t

1.8

2

2.2

2.4

2.6

2.8

3

×10 -3 error e(ti)

Aufgabe 38 (Radau Verfahren)

Betrachten Sie das Radau Verfahren der Stufe 2, gegeben durch das Tablau:

13

512

− 112

1 34

14

34

14

a) Weisen Sie nach, dass dieses Verfahren durch eine Kollokationsmethode definiert ist,und bestimmen Sie den Exaktheitsgrad der zugehörigen Quadraturformel Q. ZeigenSie außerdem, dass für ein normiertes Polynom p vom Grad 3 die Ungleichung

∫ 1

0

p(t) dτ < Q10(p)

gilt.

b) Weisen Sie nach, dass das obige Runge–Kutta Verfahren B-stabil ist.Hinweis: Verwenden Sie die Aussage aus a).

c) Beweisen Sie, dass dieses Verfahren L-stabil ist, indem Sie die Funktion R(z) be-rechnen und die notwendigen Eigenschaften nachweisen.

2

d) Stellen Sie mit Hilfe des Befehls ezplot das Stabilitätsgebiet dieses Verfahrens inMatlab graphisch dar.

Lösung 38 (Radau Verfahren)

a) Für das Kollokationsverfahren mit den Knoten α1 =13, α2 = 1 gilt

L1(τ) =3

2− 3

2τ, β11 =

∫ 1

3

0

L1(τ) dτ =5

12, β21 = γ1 =

∫ 1

0

L1(τ) dτ =3

4,

L2(τ) =3

2τ − 1

2, β12 =

∫ 1

3

0

L2(τ) dτ = − 1

12, β22 = γ2 =

∫ 1

0

L2(τ) dτ =1

4,

wodurch sich genau das angegebene Verfahren ergibt. Die zugehörige Quadraturfor-mel hat den Exaktheitsgrad 2, denn es gilt für ein normiertes Polynom p ∈ P3([0, 1]):

∫ 1

0

p(τ) dτ =

∫ 1

0

(τ 3 + bτ 2 + cτ + d

)dτ =

1

4+

1

3b+

1

2c+ d

<5

18+

1

3b+

1

2c+ d =

3

4

(1

27+

1

9b+

1

3c+ d

)+

1

4(1 + b+ c+ d)

=3

4p

(1

3

)+

1

4p(1),

so dass ein Polynom vom Grad 2 exakt integriert wird, eines vom Grad 3 im All-gemeinen jedoch nicht. Damit hat das Radau Verfahren die Konsistenzordnung 3(Satz III.7).

b) Sei die rechte Seite f des AWP y′ = f(t, y) dissipativ. Es existieren für y0, y0 undh > 0 Kollokationspolynome p, p ∈ P2([0, h]) mit

p(0) = y0, p(0) = y0,

p(h) = y1, p(h) = y1,

p′(αjh) = f(p(αjh)), p′(αjh) = f(p(αjh)), j = 1, 2.

Dann istq(τ) = ‖p(τh)− p(τh)‖2

ein Polynom in P4 mit einem nichtnegativen führenden Koeffizienten. Diesen be-zeichnen wir mit a(h)2. Dann folgt

‖y1 − y1‖2 = q(1) = q(0) +

∫ 1

0

q′(τ) dτ = ‖y0 − y0‖2 +∫ 1

0

q′(τ) dτ,

so dass die B–Stabilität äquivalent zu

∫ 1

0

q′(τ) dτ 6 0 (1)

3

ist. Zum Nachweis dieser Eigenschaft verwenden wir die Tatsache, dass sich q′ alsq′(τ) = 4a(h)2q(τ) mit einem normierten Polynom q ∈ P3 schreiben lässt, sowie dieAussage aus a):

∫ 1

0

q′(τ) dτ = 4a(h)2∫ 1

0

q(τ) dτ 6 4a(h)22∑

j=1

γj q(αj) =2∑

j=1

γjq′(αj).

Die Dissipativität von f impliziert nun

q′(αj) = 2h⟨p′(αjh)− p′(αjh), p(αjh)− p(αjh)

= 2h⟨f(p(αjh))− f(p(αjh)), p(αjh)− p(αjh)

⟩6 0.

Wegen γj > 0 (die Gewichte der Quadratur sind positiv) folgt daraus die Aussage(1).

c) Angewendet auf das Anfangswertproblem y′ = λy, y(0) = 1 erhalten wir

k1 = λ

(yi +

5

12h k1 −

1

12h k2

), k2 = λ

(yi +

3

4h k1 +

1

4h k2

).

Dies führt mit z = λh auf das lineare Gleichungssystem

(512z − 1 − 1

12z

34z 1

4z − 1

)(k1k2

)=

(−λyi−λyi

).

Mit Hilfe der Cramerschen Regel erhalten wir die Lösung zu

k1 =6− 2z

z2 − 4z + 6︸ ︷︷ ︸=:k1

λyi, k2 =6 + 2z

z2 − 4z + 6︸ ︷︷ ︸=:k1

λyi.

Aus dem Vorschrift für das RKV

yi+1 = yi + h2∑

j=1

γjkj = yi + zyi3

4k1 + zyi

1

4k2 = (1 +

3

4zk1 +

1

4zk2)yi

folgt

R(z) = 1 +3

4hk1 +

1

4hk2 =

2z + 6

z2 − 4z + 6.

Offensichtlich gilt lim|z|→∞ R(z) = 0. Die Bedingung |R(z)| < 1 für z = α + iβ mitα < 0 ist äquivalent zu

|2z + 6|2 < |z2 − 4z + 6|2.Umformungen liefern

(2z + 6)(2z + 6) < (z2 − 4z + 6)(z2 − 4z + 6)

4zz + 12(z + z) + 36 < z2z2 − 4zz2 + 6z2 − 4zz2 + 16zz − 24z + 6z2 − 24z + 36

4zz + 12(z + z) < z2z2 + 4zz(4− z − z) + 6(z2 + z2)− 24(z + z).

4

Daraus folgt schließlich

4|z|2(2α− 3) + 72α− |z|4 − 12(α2 − β2) < 0

8|z|2α + 72α− |z|4 − 12(α2 − β2 + α2 + β2) < 0

8|z|2α + 72α− |z|4 − 24α2 < 0,

was wegen α < 0 erfüllt ist. Damit ist das Verfahren L-stabil.

d) figure(1);

hold on; box on; grid on;

for k = 0:0.025:1

fce = [’abs((6+2*(x+i*y))/(6-4*(x+i*y)+(x+i*y)*(x+i*y)))-’,num2str(k)]

ezplot(fce,[-15 10])

end

title(’|R(x+iy)|=k’)

axis([-15 10 -10 10]);

hold off;

-15 -10 -5 0 5 10

x

-10

-8

-6

-4

-2

0

2

4

6

8

10

y

|R(x+iy)|=k

Aufgaben zum Selbststudium

Aufgabe 39 (Schrittweitensteuereung)

Veralgemeinern Sie die Implementierung aus der Aufgabe 37 für das (vektor-wertige undzweiter Ordnung!) restringierte Dreikörperproblem

x′′ = x+ 2y′ − µx+ µ

N1

− µx− µ

N2

,

y′′ = y − 2x′ − µy

N1

− µy

N2

,

wobei N1 = ((x+ µ)2 + y2)3/2

, N2 = ((x− µ)2 + y2)3/2

mit µ = 0.0121486 und µ = 1−µ,für die Anfangswerte:

y0 = (1.15, 0, 0, 0.00761)⊤

auf dem Zeitintervall t ∈ [0, 29.5].Wählen Sie als Parameter für die Schrittweitensteuerung hmin = 0.005, hmax = 1.0, αmin =0.2, αmax = 5 und β = 0.9.Stellen Sie jeweils die Lösung sowie den Verlauf der Schrittweite h grafisch dar und tabel-lieren Sie für die Läufe folgende Ergebnisse:

5

Toleranz erfolgreiche Schritte verworfene Schritte f-Auswertungen1e-21e-31e-41e-51e-6

Lösung 39 (Schrittweitensteuereung)

function f = DREIKOERPER(t,y,var)

% berechnet die rechte Seite der ODE

% fuer das restringierte Dreikoerperproblem

% richtige Anzahl Komponenten?

if (length(y) < 4)

display(’Eingabevektor braucht vier Komponenten!’);

return;

end

% Parameterdefinition

mu = var(1);

muh = 1-var(1);

% Hilfsvariablen

N1 = ((y(1)+mu).^2+y(3).^2).^(1.5);

N2 = ((y(1)-muh).^2+y(3).^2).^(1.5);

% Berechnung der rechten Seite

f = [y(2); y(1) + 2*y(4) - muh*(y(1)+mu)./N1 - mu*(y(1)-muh)./N2;

y(4); y(3) - 2*y(2) - muh*y(3)./N1 - mu*y(3)./N2];

end

-1 -0.5 0 0.5 1 1.5-1

-0.5

0

0.5

1approx. solution for TOL=0.1

0 5 10 15 20 25t

0

0.02

0.04

0.06

0.08

0.1step size h

i

6

-1 -0.5 0 0.5 1 1.5-1

-0.5

0

0.5

1approx. solution for TOL=0.01

0 5 10 15 20 25t

0

0.02

0.04

0.06

0.08

0.1step size h

i

-1 -0.5 0 0.5 1 1.5-1

-0.5

0

0.5

1approx. solution for TOL=0.001

0 5 10 15 20 25t

0

0.02

0.04

0.06

0.08

0.1step size h

i

-1 -0.5 0 0.5 1 1.5-1

-0.5

0

0.5

1approx. solution for TOL=0.0001

0 5 10 15 20 25t

0

0.02

0.04

0.06

0.08

0.1step size h

i

-1 -0.5 0 0.5 1 1.5-1

-0.5

0

0.5

1approx. solution for TOL=1e-05

0 5 10 15 20 25t

0

0.02

0.04

0.06

0.08

0.1step size h

i

7

-1 -0.5 0 0.5 1 1.5-1

-0.5

0

0.5

1approx. solution for TOL=1e-06

0 5 10 15 20 25t

0

0.02

0.04

0.06

0.08

0.1step size h

i

Toleranz erfolgreiche Schritte verworfene Schritte f-Auswertungen1e-1 333 18 10541e-2 452 60 15371e-3 1138 99 37121e-4 2504 10 75431e-5 4386 4 131731e-6 5771 3 17326

Aufgabe 40 (Rosenbrock Verfahren)

Bei impliziten Runge-Kutta Verfahren treten nichtlinearen Gleichungssysteme auf, dienicht durch sukzessive Iteration gelöst werden können. Um die lineaarisierung zu umgehen,wird nur der linearen Anteil der rechten Seite mit einem impliziten Verfahren behandletund der Rest mit einem expliziten Verfahren. Solcher Verfahen der Stufe zwei aufgewendetauf autonome Differenzialgleichung y′ = f(y) lautet:

yn+1 = yn +h

2(k1 + k2),

k1 = f(yn) + hσJk1,

k2 = f(yn + hk1) + hJ(−2σk1 + σk2).

mit einem freien Parameter σ. Hierbei bezeichnet J die Jacobimatrix der Funktion f .

a) Berechnen Sie die Funktion R(z) für dieses Verfahren in Abhängigkeit von σ.

b) Für welche σ ist das Verfahren A-stabil?

c) Berechnen Sie σ, so dass dieses Verfahren L-stabil ist.

d) Sei nun f(y) = 2y.Bestimmen Sie das implizite RK Verfahren, welches Ihnen obigesRosenbrock Verfahren liefert.

Lösung 40 (Rosenbrock Verfahren)

a) Angewendet auf das Anfangswertproblem y′ = λy, y(0) = 1 erhalten wir

yi+1 = 1 +h

2(k1 + k2),

k1 = λyi + hλσk1,

k2 = λ(yi + hk1) + hλσ(−2k1 + k2).

8

Aus der zweiten Gleichung folgt

k1 =λyi

1− hλσ.

Auflösen der dritten Gleichung nach k2 und Einsetzen von k1 liefert

k2 =λyi + hλk1 − 2hλσk1

1− hλσ=

1 + hλ− 3hλσ

(1− hλσ)2λyi.

Somit folgt für die Stabilitätsfunktion (yi+1 = R(λh)yi, z = λh):

R(z) =2(1− zσ)2 + (1− zσ)z + (1 + z − 3zσ)z

2(1− zσ)2=

1 + (1− 2σ)z + (12− 2σ + σ2)z2

(1− zσ)2.

b) Aus der Bedingung |R(z)| < 1 erhalten wir(2 + (2− 4σ)z + (1− 4σ + 2σ2)z2

)(2 + (2− 4σ)z + (1− 4σ + 2σ2)z2

)< 4(1− σz)2(1− σz)2.

Umformen liefert

4 + (2− 4σ)2zz + (1− 4σ + 2σ2)2z2z2 + 2(2− 4σ)(z + z) + 2(1− 4σ + 2σ2)(z2 + z2)

(2− 4σ)(1− 4σ + 2σ2)(z + z)zz < 4(1− 2σz + σ2z2)(1− 2σz + σ2z2).

Ausmultiplizieren ergibt mit z = α + iβ die Ungleichung

4 + (4− 16σ + 16σ2)|z|2 + (1− 8σ + 20σ2 − 16σ3 + 4σ4)|z|4 + (8− 16σ)α

+ (4− 16σ + 8σ2)(α2 − β2) + (4− 24σ + 40σ2 − 16σ3)|z|2α< 4− 16σα + 8σ2(α2 − β2)− 16σ3|z|2α + 16σ2|z|2 + 4σ4|z|4.

Bringen wir alles auf die linke Seite, sortieren nach Potenzen in σ und fassen zu-sammen, dann haben wir

σ3(−16|z|4) + σ2(20|z|4 + 40|z|2α) + σ(−16|z|2 − 8|z|4 − 24|z|2α− 16(α2 − β2))

+ 4|z|2 + |z|4 + 8α + 4(α2 − β2) + 4|z|2α < 0.

Weitere Vereinfachungen liefern

− 16σ3|z|4 + σ2(20|z|4 + 40|z|2α) + σ(−32α2 − 8|z|4 − 24|z|2α)+ 8α2 + |z|4 + 8α + 4|z|2α < 0.

Diesen Ausdruck schreiben wir nun als

− |z|4p1(σ) + α|z|2p2(σ)− α2p3(σ) + 8α < 0 (2)

mit

p1(σ) = 16σ3 − 20σ2 + 8σ − 1, p2(σ) = 40σ2 − 24σ + 4, p3(σ) = 32σ − 8.

Eine Untersuchung der drei Polynome ergibt

p1(σ) =

(σ − 1

4

)(σ − 1

2

)2

> 0 für alle σ >1

4,

p2(σ) > 0 für alle σ ∈ R,

p3(σ) > 0 für alle σ >1

4.

Falls σ >14, ist Bedingung (2) für alle α < 0 erfüllt.

9

c) Das Verfahren ist L-stabil, falls

1

2− 2σ + σ2 = 0

gilt. Dies gilt für σ = 1± 1/√2.

d) Für f(y) = 2y erhalten wir mit J = 2

yi+1 = yi +h

2(k1 + k2),

k1 = 2yi + 2hσk1 = 2(yi + hσk1),

k2 = 2(yi + hσk1) + 2h(−2σk1 + σk2) = 2(yi + h(1− 2σ)k1 + hσk2).

Folglich lautet das Tableau

σ σ1− σ 1− 2σ σ

12

12

.

Aus den Ordnungsgleichungen erhalten wir

2∑

i=1

γi = 1,

2∑

i=1

γiαi =σ

2+

1

2− σ

2=

1

2,

2∑

i=1

γiα2i =

1

2σ2 +

1

2(1− σ)2 =

1

2− σ + σ2

=1

2−(1±

√2

2

)+

(1±

√2 +

1

2

)= 1±

√2

26= 1

3.

Somit besitzt das Verfahren die Ordnung 2.

10