50
Prof. Dr. Barbara Wohlmuth Lehrstuhl f¨ ur Numerische Mathematik Lokaler Fehler y = y 2 ,y (0.2) = 5/9,L¨osung: y = 1 (2t) 2 10 0 10 1 10 2 10 3 10 4 10 -14 10 -12 10 -10 10 -8 10 -6 10 -4 10 -2 10 0 1/h Fehler Fehler nach dem 1. Schritt (I) Euler explizit (II) Euler implizit (IIIa) Crank-Nicolson (IIIb) Heun (IVa) Euler modifiziert (IVb) Euler mod. implizit Kapitel IV (esv08) 1

y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Lokaler Fehler

y′ = y2, y(0.2) = 5/9, Losung: y = 1(2−t)2

100

101

102

103

104

10−14

10−12

10−10

10−8

10−6

10−4

10−2

100

1/h

Feh

ler

Fehler nach dem 1. Schritt

(I) Euler explizit(II) Euler implizit(IIIa) Crank−Nicolson(IIIb) Heun(IVa) Euler modifiziert(IVb) Euler mod. implizit

Kapitel IV (esv08) 1

Page 2: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Globaler Fehler

y′ = y2, y(0.2) = 5/9, Losung: y = 1(2−t)2

100

101

102

103

104

10−8

10−7

10−6

10−5

10−4

10−3

10−2

10−1

100

1/h

Feh

ler

Fehler bei t=1.2

(I) Euler explizit(II) Euler implizit(IIIa) Crank−Nicolson(IIIb) Heun(IVa) Euler modifiziert(IVb) Euler mod. implizit

Kapitel IV (esv09) 2

Page 3: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Lokaler Fehler: Vergleich

y′ = 2ty, y(0) = 1, Fehler bei t = h

1/2 1/8 1/32 1/12810

−10

10−5

100

h

Feh

ler

exp. Eulerc*h²mod. EulerHeunC*(h²)²

Ordnung p entspricht der Steigung −p im doppelt logarithmischen Plot

Kapitel IV (konvergenz01) 3

Page 4: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Globaler Fehler: Vergleich

y′ = 2ty, y(0) = 1, Fehler bei t = 1

1/2 1/8 1/32 1/128

10−4

10−2

100

h

Feh

ler

exp. Eulerc*hmod. EulerHeunC*h²

Beobachtung: Globaler Fehler ist eine Ordnung niedriger als Lokaler

Kapitel IV (konvergenz02) 4

Page 5: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Globaler Fehler: Vergleich

y′ = 5y, y(0) = 1, Fehler bei t = 2

1 1/4 1/16 1/64 1/256 1/1024

100

102

104

106

h

Feh

ler

exp. Eulerimp. EulerHeunC−NC*hC*h2

Kapitel IV (konvergenz03) 5

Page 6: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Globaler Fehler: Vergleich

y′ = −5y, y(0) = 1, Fehler bei t = 2

1 1/4 1/16 1/64 1/256 1/1024

10−8

10−6

10−4

10−2

100

h

Feh

ler

exp. Eulerimp. EulerHeunC−NC*hC*h2

Kapitel IV (konvergenz04) 6

Page 7: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Runge–Kutta Verfahren

yi+1 = yi + hφ(ti, hi, yi), φ(ti, hi, yi) =

s∑

j=1

γjkj,

kj = f

(

ti + αjhi, yi + hi

s∑

l=1

βjlkl

)

, j = 1, 2, . . . , s

wobei s als die Stufe des Verfahrens bezeichnet wird. Runge–Kutta Verfahrenkonnen mit Hilfe des Butcherschemas charakterisiert werden:

α1 β11 β12 . . . β1s

α2 β21 β22 . . . β2s... ... ... . . . ...

αs βs1 βs2 . . . βss

γ1 γ2 . . . γs

α1 0 0 . . . 0

α2 β21 0 . . . 0... ... ... . . . ...

αs βs1 βs2 . . . 0

γ1 γ2 . . . γs

implizit explizit

Bedingung fur die Konsistenz:∑s

j=1 γj = 1

Kapitel IV (rk01) 7

Page 8: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Butcher–Schema, Beispiele

Impliziter Euler:1 1

1

RK (1895): explizit, 4stufig, 4te Ordnung:

0 0 0 0 0

1/2 1/2 0 0 0

1/2 0 1/2 0 0

1 0 0 1 0

1/6 2/6 2/6 1/6

implizit, 2stufig, 4te Ordnung:

1/2 −√3/6 1/4 1/4 −

√3/6

1/2 +√3/6 1/4 +

√3/6 1/4

1/2 1/2

Kapitel IV (rk02) 8

Page 9: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

RK 3 Verfahren: verschiedene Schrittweiten

Restringiertes Dreikorperproblem, 1 Periode

−1 0 1−2

−1

0

1

2n = 6000

RK 3

−1 0 1−2

−1

0

1

2n = 12000

RK 3

−1 0 1−2

−1

0

1

2n = 24000

RK 3

−1 0 1−2

−1

0

1

2n = 48000

RK 3

Kapitel IV (rk03) 9

Page 10: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

RK 4 Verfahren: verschiedene Schrittweiten

Restringiertes Dreikorperproblem, 1 Periode

−1 0 1−2

−1

0

1

2n = 6000

RK 4

−1 0 1−2

−1

0

1

2n = 12000

RK 4

−1 0 1−2

−1

0

1

2n = 24000

RK 4

−1 0 1−2

−1

0

1

2n = 48000

RK 4

Kapitel IV (rk04) 10

Page 11: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Runge–Kutta Verfahren, Vergleich

Restringiertes Dreikorperproblem, Fehler e(T )

104

105

10−6

10−4

10−2

100

102

Anzahl der Schritte

Feh

ler

EulerHeunRK 3RK 4

Langeneinheit fur die euklidische Norm |(x, y)| ist die mittlere Entfernung Erde–Mond (384000

km). Ein Fehler von 2.6 · 10−6 entspricht 1 km. Fur die letzte Rechnung benotigte das RK

4–Verfahren 768000 Funktionsauswertungen.

Kapitel IV (rk05) 11

Page 12: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

RK4–Verfahren: Vergleich

Vergleich von 3 expliziten Runge-Kutta Verfahren der Stufe 4 am Beispiel

y′ = y2, y(0.8) =5

6mit y(t) =

1

2− t, t ∈ [0.8, 1.8].

klassisch

012

12

12 0 1

2

1 0 0 1

16

13

13

16

3/8–Regel

013

13

23 −1

3 1

1 1 −1 1

18

38

38

18

Kuntzmann

025

25

35 − 3

2034

1 1944 −15

444044

55360

125360

125360

55360

Kapitel IV (rk06) 12

Page 13: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

RK4–Verfahren: Vergleichy′ = y2, y(0.8) = 5/6, Losung y = 1/(2 − t), Fehler bei t = 1.8

100

101

102

103

10−10

10−9

10−8

10−7

10−6

10−5

10−4

10−3

10−2

10−1

Fehler für t=1.8

1/h

err

or

classical3/8−RegelKuntzmann

101.7

101.8

101.9

10−6

10−5

Zoom

1/h

err

or

classical3/8−RegelKuntzmann

Kapitel IV (rk07) 13

Page 14: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Runge–Kutta Verfahren, Vergleich

y′ = −200ty2, y(−1) = 1/101, bestimme y(0)

Einfluss von Rundungsfehlern: Fehler ≤ C(

hp + epsh

)

1 1e−02 1e−04 1e−0610

−12

10−8

10−4

100

h

Feh

ler

EulerHeunRK 3RK 4

Beobachtung: Je großer die Ordnung, desto fruher tritt der Effekt auf

Kapitel IV (rk09) 14

Page 15: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Einfluss von Rundungsfehlern

y′ = y2, y(0.2) = 5/9, Losung: y = 1(2−t)2

100

101

102

103

104

105

106

10−12

10−10

10−8

10−6

10−4

10−2

100

1/h

erro

r

Fehler bei t=1.2 (double, eps = 2.2e−16)

(I) Euler explizit(IIIb) Heun(IVa) Euler modifiziert

100

101

102

103

104

105

106

10−7

10−6

10−5

10−4

10−3

10−2

10−1

100

1/her

ror

Fehler bei t=1.2 (single, eps = 1.2e−7)

(I) Euler explizit(IIIb) Heun(IVa) Euler modifiziert

Kapitel IV (esv10) 15

Page 16: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Runge–Kutta Verfahren, Rundungsfehler

Einfluss der Ordnung p auf Rundungsfehler

2 4 6 8 10 12 14 16 18 2010

−8

10−7

10−6

10−5

10−4

10−3

10−2

10−1

100

p

h opt

optimale Schrittweite

singledouble

2 4 6 8 10 12 14 16 18 2010

−16

10−14

10−12

10−10

10−8

10−6

10−4

10−2

pe op

t

optimaler Fehler

singleeps (single)doubleeps (double)

Mit der Maschinengenauigkeit eps gilt: eopt = O(epsp

p+1)

Kapitel IV (rk09a) 16

Page 17: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Einfluss der Glattheit der Losung auf Konvergenz

y′ =√t, y(0) = 0, Fehler bei t = 1

101

102

103

10−6

10−4

10−2

Fehler gegen Anzahl der Schritte

EulerHeunRK 3RK 4

Theorie: Um Ordnung p zu beobachten, muss Losung in Cp+1 sein.

Kapitel IV (rk10) 17

Page 18: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Einfluss der Glattheit der Losung auf Konvergenz

y′ = ta, y(0) = 0, Fehler bei t = 1

a = 0.5 a = 1.5 a = 2.5

a = 3.5 a = 4.5 a = 5.5

Bei kleinem a liefern Verfahren hoherer Ordnung keine schnellere Konvergenz

Kapitel IV (rk11) 18

Page 19: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Implizite Runge–Kutta Verfahren

Ordnung 2

12

12

1

Ordnung 4

12 −

√36

14

14 −

√36

12 +

√36

14 +

√36

14

12

12

Ordnung 6: Kuntzmann und Butcher

12 −

√1510

536

29 −

√1515

536 −

√1530

12

536 +

√1524

29

536 −

√1524

12 +

√1510

536 +

√1530

29 +

√1515

536

518

49

518

Innere Iteration: km+1i = f

(

ti + αihi, yi + hi

s∑

l=1

βilkml

)

Kapitel IV (rk19) 19

Page 20: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Anzahl der inneren Iterationen: My′ = 1

4ty, y(0) = 1

0 0.2 0.4 0.6 0.8 1 1.2 1.41

1.1

1.2

1.3

1.4Implizites RK4−Verfahren

Zeit t

y(t)

exact solutionh = 0.325h = 0.18571h = 0.13

0 0.2 0.4 0.6 0.8 1 1.2 1.40

1

2

3

4

5

6

7

8

9Innere Iterationen

Zeit t

Anz

ahl d

er I

tera

tione

n

h = 0.325h = 0.18571h = 0.13

y′ = ty2, y(0) = 1

0 0.2 0.4 0.6 0.8 1 1.2 1.41

2

3

4

5

6

7

8Implizites RK4−Verfahren

Zeit t

y(t)

exact solutionh = 0.325h = 0.18571h = 0.13

0 0.2 0.4 0.6 0.8 1 1.2 1.40

20

40

60

80

100

120Innere Iterationen

Zeit t

Anz

ahl d

er I

tera

tione

n

h = 0.325h = 0.18571h = 0.13

Beobachtung: M abhangig von Schrittweite und Lipschitz–Konstante

Kapitel IV (rk20) 20

Page 21: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Einfluss des Startwertes auf innere Iteration

y′ = 14ty, y(0) = 1 Startwerte k0i+1 = 0 und k0i+1 = knmax

i

0 0.2 0.4 0.6 0.8 1 1.2 1.40

1

2

3

4

5Innere Iterationen h = 0.0026

Zeit t

Anz

ahl d

er I

tera

tione

n

Startwert 0Startwert aus vorigem Schritt

0 0.2 0.4 0.6 0.8 1 1.2 1.40

1

2

3

4

5Innere Iterationen h = 0.00026

Zeit t

Anz

ahl d

er I

tera

tione

nStartwert 0Startwert aus vorigem Schritt

Kapitel IV (rk21) 21

Page 22: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Van der Pol’s Gleichung

I have a theory that whenever you want to get in trouble with a method, look forthe Van der Pol equation. (P. E. Zadunaisky, 1982)

Aufgabe: Modellierung der Schwingung einer Geigensaite.

Pizzicato–Effekt: rasches Abklingen der Schwingung

Bogenstrich halt die Schwingung aufrecht. Die Saite nimmt beim Ubergang von Gleit– zu

Haftreibung, bei gleicher Geschwindigkeit von Saite und Bogen, Energie auf.

Modellierung: unstetige Anregung, keine Sinus–Schwingung

x′′ − ε(

x2k − x2

)

x′ +Dx = 0.

mit den Anfangswerten y′(0) = 1 und D = 1, sowie ε = 10.

Weitere Beispiele: Uhr (Pendel oder Batterie),Luftstrom bei Blasinstrumentenelektrischer Schaltkreis

Kapitel IV (konvergenz10) 22

Page 23: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Anzahl der inneren Iterationen (implizit RK4)

Vanderpol–Oszillator

Abbruchkriterium: ‖km+1 − km‖ < 10e-12

0 10 20 30 40 50

−2

−1

0

1

2

3 h = 0.1

0 10 20 30 40 50

−2

−1

0

1

2

3 h = 0.076923

0 10 20 30 40 50

−2

−1

0

1

2

3 h = 0.0625

0 10 20 30 40 50

−2

−1

0

1

2

3 h = 0.052632

0 10 20 30 40 500

50

100

150

200

250Innere Iterationen

Zeit t

Anz

ahl d

er It

erat

ione

n

Beobachtung: lokal stark unterschiedliche Anzahl von Iterationen

Kapitel IV (rk22) 23

Page 24: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Innere Iterationen: Fixpunkt vs. Newton

0 20 405

100

200

Zeit

Inne

re It

erat

ione

nh = 0.1

0 20 4005

10

20

30

40

Zeit

Inne

re It

erat

ione

n

h = 0.05

0 20 400

5

10

15

20

Zeit

Inne

re It

erat

ione

n

h = 0.025

0 20 400

5

10

15

Zeit

Inne

re It

erat

ione

n

h = 0.0125

Kapitel IV (rk22a) 24

Page 25: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Unterschiedliche implizite RK–Verfahren

y′ = ty2, y(0) = 1

0 0.2 0.4 0.6 0.8 1 1.2 1.41

2

3

4

5

6

7

8Implizite RK−Verfahren

Zeit t

y(t)

Ordnung 2Ordnung 4Ordnung 6

0 0.2 0.4 0.6 0.8 1 1.2 1.40

10

20

30

40

50

60Innere Iterationen

Zeit t

Anz

ahl d

er It

erat

ione

n

Ordnung 2Ordnung 4Ordnung 6

Beobachtung: Anzahl der inneren Iterationen hangt von der Ordnung ab

Kapitel IV (rk24) 25

Page 26: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Implizite RK–Verfahren: Fehler

y′ = ty2, y(0) = 1

101

102

10−10

10−5

100

Anzahl der Schritte

Feh

ler

Ordnung 2Ordnung 4Ordnung 6

Kapitel IV (rk25) 26

Page 27: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

KollokationIdee: Setze ein Polynom qi ∈ P(s)([ti, ti+1]) mit

• qi(ti) = yi

• q(tij) = f(

tij, qi(tij))

fur j = 1, . . . , s, d.h. qi erfullt die DGL an denKollokationspunkten tij = ti + αjhi mit 0 ≤ α1 < α2 < . . . < αs ≤ 1

Setze yi+1 := qi(ti+1).⇒ Mittels Quadratur konnen damit RKV hoherer Ordnung entwickelt werden.Entsprechend der gewahlten Quadratur Regel, lassen sich bei gegebener Stufenzahls folgende Ordnung erwarten:

• Gauß-Legendre→Ordnung 2s

• Gauß-Radau IA bzw.IIA→Ordnung 2s − 1 (Anfangs- bzw. Endpunkt miteingeschlossen)

• Gauß-Lobatto→Ordnung 2s− 2

Neben Radau-IA/IIA gibt es noch weitere Verfahren von Lobatto/Radau(z.B.Lobatto IIIB,Lobatto IIIC,...).

Kapitel IV (rk44) 27

Page 28: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Kollokation - Vergleich von 6 impliziten Runge-Kutta

Verfahren

Gauss-Legendre Gauss-Radau-(IIA) Gauss-Lobatto

Stufe 1 impliziter Euler Crank-Nicolson

12

12

1

1 1

1

0 0 0

1 12

12

12

12

Hammer-Hollingsworth Stufe 2 Stufe 3

12 −

√36

14

14 −

√36

12 +

√36

14 +

√36

14

12

12

13

512 − 1

12

1 34

14

34

14

0 16

−13

16

12

16

512 − 1

12

1 16

23

16

16

23

16

Kapitel IV (rk45) 28

Page 29: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Kollokation - Vergleich von 6 impliziten Runge-Kutta

Verfahren

101

102

10−14

10−12

10−10

10−8

10−6

10−4

10−2

Number of steps

Err

or

Hammer−Hollingsworth

Ch4

Gauss−Lobatto3

Ch4

Gauss−Radau2

Ch3

Crank−Nicolson

Ch2

Impliziter−Euler

Ch1

Gauss−Legendre1

Ch2

Kapitel IV (rk46) 29

Page 30: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Eingebettete Runge–Kutta Verfahren

Bogacki– und Shampine–Verfahren: FSAL–Verfahren RK3(2)

012

12

34 0 3

4

1 29

13

49

p = 3 29

13

49

p = 2 1172

512

59 −1

8

ki4 = f

(

ti + hi, yi + hi

(

2

9ki1 +

1

3ki2 +

4

9ki3

))

ki+11 = f

(

ti+1, yi+1)

= f

(

ti + hi, yi + hi

(

2

9ki1 +

1

3ki2 +

4

9ki3

))

= ki4

First Same As Last

Entspricht in Matlab dem Aufruf von ode23

Kapitel IV (rk16) 30

Page 31: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Eingebettete Runge–Kutta Verfahren

DOPRI5(4)–Verfahren: FSAL–Verfahren

015

15

310

340

940

45

4445 −56

15329

89

193726561 −25360

2187644486561 −212

729

1 90173168 −355

33467325247

49176 − 5103

18656

1 35348 0 500

1113125192 −2187

67841184

p = 5 35348 0 500

1113125192 −2187

67841184

p = 4 517957600 0 7571

16695393640 − 92097

3392001872100

140

Entspricht in Matlab dem Aufruf von ode45

Kapitel IV (rk17) 31

Page 32: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Eingebettete Runge–Kutta Verfahren

DOPRI8(7)–Verfahren: Butcherschema

entnommen aus Deuflhard/Bornemann

Kapitel IV (rk18) 32

Page 33: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Motivation fur adaptive Schrittweite

Ziel: Gegebene Genauigkeit mit moglichst minimalem Aufwand zu erreichen

Idee: Wahle lokal unterschiedliche Schrittweiten

Minimierungsproblem: Bestimme fur gegebene Anzahl der Schritte die Verteilungder Stutzstellen, so dass der Fehler minimal wird

Aber: Viel zu teuer

Ausweg: Bestimme die Schrittweite moglichst groß, so dass eine relative lokaleGenauigkeit erfullt ist

Umsetzung: Bestimme den Fehler durch Vergleich mit einer besseren Losung

• halbe Schrittweite

• hohere Ordnung

hneu =??

Kapitel IV (adapt01) 33

Page 34: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Adaptives Verfahren: Berechnung der neuen Schrittweitenach Dahmen-Reusken

p : Ordnung des Verfahrens, EST: Schatzung des Fehlers, Parameter αmax, αmin,β und TOL

α = βp

hTOL

EST

α = min{α,αmax}α = max{α, αmin}

hneu = αh

hneu = min{hneu, hmax}hneu = max{hneu, hmin}

Validierung: Ist EST ≤ hTOL oder h = hmin?

Kapitel IV (adapt20) 34

Page 35: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Eingebettetes RK4(3)–Verfahren

y′ = y, y(0) = 1

0 0.2 0.4 0.6 0.8 11

1.5

2

2.5

3

t

y

exakte Loesung

0 0.2 0.4 0.6 0.8 110

−2

10−1

t

h

Knoten und lokale Schrittweite

TOL = 1e−6

Beobachtung: Geringe Schwankungen in der Schrittweite

Kapitel IV (adapt02) 35

Page 36: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Eingebettetes RK4(3)–Verfahren

y′ = −200ty2, y(0) = 1

0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1

t

y

exakte Loesung

0 0.2 0.4 0.6 0.8 1

10−2

10−1

t

h

Knoten und lokale Schrittweite

TOL = 1e−5

Beobachtung: Starke Schwankungen in der Schrittweite

Kapitel IV (adapt03) 36

Page 37: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Eingebettetes RK4(3)–Verfahren

y′ = −sgn(t)y, y(−1) = 1/e

−1 −0.5 0 0.5 10.2

0.4

0.6

0.8

1

t

y

exakte Loesung

−1 −0.5 0 0.5 110

−4

10−3

10−2

10−1

t

h

Knoten und lokale Schrittweite

TOL = 1e−5

Beobachtung: Algorithmus erkennt die Singularitat;Vorgabe von minimaler Schrittweite verhindert “Festfressen”

Kapitel IV (adapt04) 37

Page 38: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Eingebettetes RK4(3)–VerfahrenRestringiertes Dreikorperproblem (1)

−1.5 −1 −0.5 0 0.5 1−1.5

−1

−0.5

0

0.5

1

1.5TOL=0.1−>#f=421

adaptiv RK4(3)

0 5 10 15

havg = 2.8 · 10−1

hmin= 3.0 · 10−5

hmax= 1.0 · 100

−1.5 −1 −0.5 0 0.5 1−1.5

−1

−0.5

0

0.5

1

1.5TOL=0.01−>#f=741

adaptiv RK4(3)

0 5 10 15

havg = 1.5 · 10−1

hmin= 1.7 · 10−5

hmax= 6.1 · 10−1

−1.5 −1 −0.5 0 0.5 1−1.5

−1

−0.5

0

0.5

1

1.5TOL=0.001−>#f=1809

adaptiv RK4(3)

0 5 10 15

havg = 6.5 · 10−2

hmin= 9.6 · 10−6

hmax= 3.3 · 10−1

Kapitel IV (adapt05) 38

Page 39: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Eingebettetes RK4(3)–VerfahrenRestringiertes Dreikorperproblem (2)

−1.5 −1 −0.5 0 0.5 1−1.5

−1

−0.5

0

0.5

1

1.5TOL=0.1−>#f=369

adaptiv RK4(3)

0 2 4 6 8 10

havg = 1.9 · 10−1

hmin= 3.0 · 10−5

hmax= 8.4 · 10−1

−1.5 −1 −0.5 0 0.5 1−1.5

−1

−0.5

0

0.5

1

1.5TOL=0.01−>#f=673

adaptiv RK4(3)

0 2 4 6 8 10

havg = 1.1 · 10−1

hmin= 1.6 · 10−5

hmax= 6.7 · 10−1

−1.5 −1 −0.5 0 0.5 1−1.5

−1

−0.5

0

0.5

1

1.5TOL=0.001−>#f=1653

adaptiv RK4(3)

0 2 4 6 8 10

havg = 4.8 · 10−2

hmin= 9.3 · 10−6

hmax= 3.6 · 10−1

Kapitel IV (adapt06) 39

Page 40: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Eingebettetes RK4(3)–VerfahrenRestringiertes Dreikorperproblem (3)

−1.5 −1 −0.5 0 0.5 1−1.5

−1

−0.5

0

0.5

1

1.5TOL=0.1−>#f=405

adaptiv RK4(3)

0 1 2 3 4 5

havg = 8.8 · 10−2

hmin= 2.7 · 10−5

hmax= 8.6 · 10−1

−1.5 −1 −0.5 0 0.5 1−1.5

−1

−0.5

0

0.5

1

1.5TOL=0.01−>#f=821

adaptiv RK4(3)

0 1 2 3 4 5

havg = 4.5 · 10−2

hmin= 1.5 · 10−5

hmax= 4.5 · 10−1

−1.5 −1 −0.5 0 0.5 1−1.5

−1

−0.5

0

0.5

1

1.5TOL=0.001−>#f=1813

adaptiv RK4(3)

0 1 2 3 4 5

havg = 2.1 · 10−2

hmin= 8.6 · 10−6

hmax= 2.5 · 10−1

Kapitel IV (adapt07) 40

Page 41: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Eingebettetes RK4(3)–VerfahrenRestringiertes Dreikorperproblem (4)

−1.5 −1 −0.5 0 0.5 1−1.5

−1

−0.5

0

0.5

1

1.5TOL=0.1−>#f=2085

adaptiv RK4(3)

0 5 10 15 20 25

havg = 1.0 · 10−1

hmin= 3.2 · 10−5

hmax= 5.3 · 10−1

−1.5 −1 −0.5 0 0.5 1−1.5

−1

−0.5

0

0.5

1

1.5TOL=0.01−>#f=2205

adaptiv RK4(3)

0 5 10 15 20 25

havg = 9.7 · 10−2

hmin= 2.6 · 10−3

hmax= 3.2 · 10−1

−1.5 −1 −0.5 0 0.5 1−1.5

−1

−0.5

0

0.5

1

1.5TOL=0.0001−>#f=9193

adaptiv RK4(3)

0 5 10 15 20 25

havg = 2.0 · 10−2

hmin= 1.4 · 10−4

hmax= 9.0 · 10−2

Kapitel IV (adapt08) 41

Page 42: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Eingebettetes RK4(3)–VerfahrenVanderpol–Oszillator

0 10 20 30 40 50−3

−2

−1

0

1

2

3TOL=10−>#f=2025

adaptiv RK4(3)

0 10 20 30 40 50

havg = 1.4 · 10−1

hmin= 7.1 · 10−7

hmax= 7.8 · 10−1

0 10 20 30 40 50−3

−2

−1

0

1

2

3TOL=1−>#f=2105

adaptiv RK4(3)

0 10 20 30 40 50

havg = 1.3 · 10−1

hmin= 4.5 · 10−7

hmax= 8.1 · 10−1

0 10 20 30 40 50−3

−2

−1

0

1

2

3TOL=0.1−>#f=2513

adaptiv RK4(3)

0 10 20 30 40 50

havg = 1.1 · 10−1

hmin= 2.8 · 10−7

hmax= 5.0 · 10−1

Kapitel IV (adapt09) 42

Page 43: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Runge–Kutta: adaptiv vs. aquidistantRestringiertes Dreikorperproblem, Fehler e(T )

102

103

104

105

106

10−10

10−8

10−6

10−4

10−2

100

Feh

ler

adaptivaequidistant

Anzahl der Funktionsauswertungen

Blau: Standard RK 4–Verfahren, Rot: eingebettetes RK4(3)–Verfahren

Fur einen Fehler in der Großenordnung von 1 km benotigt das aquidistante Verfahren mit 384000

Funktionsauswertungen uber 60mal mehr als das adaptive (6261).

Kapitel IV (adapt11) 43

Page 44: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Runge–Kutta: adaptiv vs. aquidistantRestringiertes Dreikorperproblem

−40 −20 0 20 40 60−60

−40

−20

0

20

40

60#f = 1000

RK 4

−1.5 −1 −0.5 0 0.5 1−1.5

−1

−0.5

0

0.5

1

1.5#f = 741

adaptiv RK4(3)

Blau: Aquidistante Punkte, Rot: Adaptive Punkte,bei ahnlicher Anzahl von Funktionsauswertungen.

Kapitel IV (adapt12) 44

Page 45: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Runge–Kutta: adaptiv vs. aquidistantVanderpol–Oszillator, Fehler e(T )

104

105

10−10

10−8

10−6

10−4

10−2

adaptiväquidistantC*Anzahl4

Anzahl der Funktionsauswertungen

Blau: Standard RK4–Verfahren, Rot: eingebettetes RK4(3)–Verfahren

Kapitel IV (adapt13) 45

Page 46: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Runge–Kutta: adaptiv vs. aquidistantVanderpol–Oszillator

0 10 20 30 40 50−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

Zeit t

Lösu

ng x

(t)

RK4, h = 0.081566

#f = 2452

0 10 20 30 40 50−3

−2

−1

0

1

2

3#f=2513

adaptiv RK4(3)

Blau: Aquidistante Punkte, Rot: Adaptive Punkte,bei ahnlicher Anzahl von Funktionsauswertungen.

Kapitel IV (adapt14) 46

Page 47: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Lokale SchrittweiteDreikorper-Problem

TOL = 1e-2

−2 −1 0 1−2

−1

0

1

2Eingebettetes Runge−Kutta Verfahren RK4(3)

TOL = 1e−02, Schritte = 10717

0 5 10 15 20 2510

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

t

h

Schrittweite

TOL = 1e-3

−2 −1 0 1−2

−1

0

1

2Eingebettetes Runge−Kutta Verfahren RK4(3)

TOL = 1e−03, Schritte = 38897

0 5 10 15 20 2510

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

t

h

Schrittweite

Kapitel IV (adapt16) 47

Page 48: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Lokale SchrittweiteVanderpol-Oszillator

TOL = 1e-1

0 10 20 30−3

−2

−1

0

1

2

3

t

x(t)

Lösung

0 5 10 15 20 25 30

10−4

10−3

10−2

10−1

100

th

Schrittweite

Kapitel IV (adapt17) 48

Page 49: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Fehlversuche: Einfluss des Faktors βVanderpol-Oszillator

TOL = 5 · 10−2, αmax = 2, αmin = 0.5

β = 0.85

0 5 10 15 20 25 30

10−4

10−3

10−2

10−1

100

t

h

Schrittweite

# Fehlversuche: 108# Schritte: 1149Aufwand: 1302

β = 0.9

0 5 10 15 20 25 30

10−4

10−3

10−2

10−1

100

t

h

Schrittweite

# Fehlversuche: 172# Schritte: 1095Aufwand: 1267

β = 0.95

0 5 10 15 20 25 30

10−4

10−3

10−2

10−1

100

t

h

Schrittweite

# Fehlversuche: 320# Schritte: 1012Aufwand: 1332

Kapitel IV (adapt18) 49

Page 50: y , Losung: 9 , y y (2 Fehler nach dem 1. Schritt...Ein Fehler von 2.6· 10−6 entspricht 1 km. Fu¨r die letzte Rechnung ben¨otigte das RK 4–Verfahren 768000 Funktionsauswertungen

Prof. Dr. Barbara Wohlmuth

Lehrstuhl fur Numerische Mathematik

Fehlversuche: Einfluss der ToleranzVanderpol-Oszillator

β = 0.9, αmax = 2, αmin = 0.5

TOL = 5 · 10−1

0 5 10 15 20 25 30

10−4

10−3

10−2

10−1

100

t

h

Schrittweite

# Fehlversuche: 168# Schritte: 453Aufwand: 621

TOL = 5 · 10−2

0 5 10 15 20 25 30

10−4

10−3

10−2

10−1

100

t

h

Schrittweite

# Fehlversuche: 172# Schritte: 1095Aufwand: 1267

TOL = 5 · 10−3

0 5 10 15 20 25 30

10−4

10−3

10−2

10−1

100

t

h

Schrittweite

# Fehlversuche: 135# Schritte: 3112Aufwand: 3247

Kapitel IV (adapt19) 50