View
226
Download
0
Category
Preview:
Citation preview
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 ist die Stufe des Verfahrens.R–K Verfahren konnen mit Hilfe des Butcherschemas charakterisiert werden:
α1 0 0 . . . 0α2 β21 0 . . . 0... ... ... . . . ...αs βs1 βs2 . . . 0
γ1 γ2 . . . γs
α1 β11 β12 . . . β1s
α2 β21 β22 . . . β2s... ... ... . . . ...αs βs1 βs2 . . . βss
γ1 γ2 . . . γsexplizit implizit
Bedingung fur die Konsistenz:∑s
j=1 γj = 1
Invarianz gegen Autonomisierung:∑s
j=1 βij = αi.
– Typeset by FoilTEX – 1
Prof. Dr. Barbara Wohlmuth
Lehrstuhl fur Numerische Mathematik
Butcher-Schema: Ordnung Bedingungen
Ein RKV ist konsistent von der Ordnung p, falls
τ(t, h, y) = O(hp),
wobei τ(t,h,y) ist der Konsistenzfehler.
p = 1 :∑s
i=1 γi = 1
p = 2 :∑s
i=1 γi = 1,∑s
i=1 γiαi =12
p = 3 :∑s
i=1 γi = 1,∑s
i=1 γiαi =12,
∑s
i=1 γiα2i =
13,∑s
i=1
∑s
j=1 γiβijαj =16
p 1 2 3 4 5 6 7 ... 20
#Beding. 1 2 4 8 17 37 85 ... > 2× 107
– Typeset by FoilTEX – 2
Prof. Dr. Barbara Wohlmuth
Lehrstuhl fur Numerische Mathematik
Butcher-Schema: Beispiele
Impliziter Euler
1 1
1
explizit RK4stufig, 4te Ordnung
0 0 0 0 012
12 0 0 0
12 0 1
2 0 0
1 0 0 1 016
26
26
16
implizit RK2stufig, 4te Ordnung
12–
√36
14
14–
√36
12+
√36
14+
√36
14
12
12
– Typeset by FoilTEX – 3
Prof. Dr. Barbara Wohlmuth
Lehrstuhl fur Numerische Mathematik
Klassisches Runge–Kutta Verfahren (RK4)
yi+1 = yi + h∑s
j=1 γjkj, kj = f (ti + αjhi, yi + hi
∑s
l=1 βjlkl)
Butcherschema
0 0 0 0 012
12 0 0 0
12 0 1
2 0 0
1 0 0 1 016
26
26
16
Algorithmus
ti+1 = ti + hi
k1 = f(ti, yi)
k2 = f(ti +hi2 , yi +
hi2 k1)
k3 = f(ti +hi2 , yi +
hi2 k2)
k4 = f(ti + hi, yi + hi k3)
yi+1 = yi +hi6 (k1 + 2k2 + 2k3 + k4)
– Typeset by FoilTEX – 4
Prof. Dr. Barbara Wohlmuth
Lehrstuhl fur Numerische Mathematik
Implizites Runge–Kutta Verfahren
yi+1 = yi + h∑s
j=1 γjkj, kj = f (ti + αjhi, yi + hi
∑s
l=1 βjlkl)
Beispiel: 2stufiges Verfahren
α1 β11 β12
α2 β21 β22
γ1 γ2
k1 = f(ti + α1hi, yi + hi(β11k1 + β12k2)
k2 = f(ti + α2hi, yi + hi(β21k1 + β22k2)︸ ︷︷ ︸
nicht-lineares Gleichungssytem
Innere Iteration:
(k(0)1 , . . . , k
(0)s ) %Startvektor
while m 6 mmax and norm(k(m+1)l
− k(m)l
) 6 TOL %Abbruchkriterium
for l = 1 : s
k(m+1)l
= f(
ti + αlhi, yi + hi
∑s
j=1βljk(m)j
)
bzw.
k(m+1)l
= f(
ti + αlhi, yi + hi
∑l−1j=1βljk
(m+1)j + h
∑s
j=lβljk(m)j
)
– Typeset by FoilTEX – 5
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.
– Typeset by FoilTEX – 6
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.
– Typeset by FoilTEX – 7
Prof. Dr. Barbara Wohlmuth
Lehrstuhl fur Numerische Mathematik
Innere Iterationen: Fixpunkt vs. Newton
Konvergenz der inneren Iterationen hangt von der Lipschitz–Konstante L undder Schrittweite h ab.
In der Praxis wird das Fixpunkt–Verfahren durch das Newton–Verfahren ersetzt:
k(m+1) = k(m) − (DF (k(m)))−1F (k(m))
0 20 405
100
200
Zeit
Inne
re It
erat
ione
n
h = 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.0125FixpunktNewton
– Typeset by FoilTEX – 8
Prof. Dr. Barbara Wohlmuth
Lehrstuhl fur Numerische Mathematik
Kollokationsmethoden: Grundidee
Suche ein Polynom q ∈ Ps([ti, ti+1]), welches die DGL y′ = f(t, y) an denKollokationspunkten ti + αjh, j = 1 . . . s, 0 6 α1 < · · · < αs 6 1, exakt erfullt:
q(ti) = yi und q′(ti + αjh)∗= f (ti + αjh, q(ti + αjh)) ⇒ yi+1 := q(ti+1)
Seien Lj ∈ Ps−1([ti, ti+1]) die Lagrange–Int.Polynome (d.h. Lj(ti + αlh) = δjl),dann folgt fur θ ∈ [0, 1]: q′(ti+ θh) =
∑s
j=1 kjLj(ti+ θh), kj := q′(ti+αjh) und
q(ti + αjh) = yi +
∫ ti+αjh
ti
q′(t)dt = yi +
s∑
l=1
klh
∫ αj
0
Ll(t)dt
︸ ︷︷ ︸=:βjl
,
wobei Lj ∈ Ps−1([0, 1]) durch Lj(αl) = δjl definiert ist.
∗ ⇒
kj = f(
ti + αjh, yi + h∑s
l=1 βjlkl
)
yi+1 = q(ti + h) = yi +∑s
l=1 klh
∫ 1
0
Ll(t)dt
︸ ︷︷ ︸=:γl
.
– Typeset by FoilTEX – 9
Prof. Dr. Barbara Wohlmuth
Lehrstuhl fur Numerische Mathematik
Kollokationsmethoden: Eigenschaften
• Die Kollokationsmethode mit den Kollokationspunkten ti + αjh, j = 1 . . . s istaquivalent zu einem Runge–Kutte–Verfahren, mit
βjl =
∫ αj
0
Ll(t)dt, γj =
∫ 1
0
Lj(t)dt.
• Das Verfahren ist konsistent.
• RKV mit Stufenzahl s > 5, die uber eine Kollokationsmethode definiert sind,sind implizit.
• Die maximale Ordnung eines durch Kollokation definierten RKV der Ordnungs ist gleich 2s.
• Fur alle Stufen s existiert genau ein implizites Verfahren der Ordnung 2s.
– Typeset by FoilTEX – 10
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 =??
– Typeset by FoilTEX – 11
Prof. Dr. Barbara Wohlmuth
Lehrstuhl fur Numerische Mathematik
Schrittweitensteuerung
In der Praxis:Sicherheitsfaktoren
αmin ∈ [0.2, 0.5], αmax ∈ [1.5, 2], β ∈ [0.8, 0.95]
Schatzung des lokalen Abbruchsfehlers
(i) Extrapolation: Vergleich h vs. h2 Auswertung
s(h) ≈ 1
2p − 1‖ yi+1︸︷︷︸
2×h2
− yi+1︸︷︷︸stand.
‖
(ii) Eingebettete RK-Verfahren
s(h) ≈ ‖ yi+1︸︷︷︸
p
− yi+1︸︷︷︸
p
‖
– Typeset by FoilTEX – 12
Prof. Dr. Barbara Wohlmuth
Lehrstuhl fur Numerische Mathematik
Eingebettete RK: Bogacki–Shampine
Entspricht in Matlab dem Aufruf von ode23
012
12
34 0 3
4
1 29
13
49
p = 3 29
13
49
p = 2 724
14
13
18
k1 = f(ti, yi)
k2 = f(ti +12hi, yi +
12hik1)
k3 = f(ti +34hi, yi +
34hik2)
yi+1 = yi +29hik1 +
13hik2 +
49hik3
yi+1 = yi +724hik1 +
14hik2 +
13hik3 +
18hik4
First Same As Last
ki4 = f
(hi+1︷ ︸︸ ︷
ti + hi,
yi+1︷ ︸︸ ︷
yi + hi
(29k
i1 +
13k
i2 +
49k
i3
) )
= ki+11
• Die Methode hoherer Ordnung verwendet nicht den Koeffizienten k4!
• FSAL: ki4 wird fur die Auswertung von ki+11 benutzt ⇒ kleinerer Aufwand
– Typeset by FoilTEX – 13
Prof. Dr. Barbara Wohlmuth
Lehrstuhl fur Numerische Mathematik
Eingebettete RK: Dormand–Prince DOPRI5(4)
Entspricht in Matlab dem Aufruf von ode45 (default ODE solver)
015
15
310
340
940
45
4445 −56
15329
89
193726561 −25360
2187644486561 −212
729
1 90173168 −355
33467325247
49176 − 5103
18656
1 35384 0 500
1113125192 −2187
67841184
p = 5 35384 0 500
1113125192 −2187
67841184 0
p = 4 517957600 0 7571
16695393640 − 92097
3392001872100
140
– Typeset by FoilTEX – 14
Prof. Dr. Barbara Wohlmuth
Lehrstuhl fur Numerische Mathematik
Eingebettete RK: Dormand–Prince DOPRI8(7)
entnommen aus Prince, Dormand 1981
– Typeset by FoilTEX – 15
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
– Typeset by FoilTEX – 16
Prof. Dr. Barbara Wohlmuth
Lehrstuhl fur Numerische Mathematik
Eingebettetes RK4(3)–Verfahren
Vanderpol-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
– Typeset by FoilTEX – 17
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
– Typeset by FoilTEX – 18
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
– Typeset by FoilTEX – 19
Prof. Dr. Barbara Wohlmuth
Lehrstuhl fur Numerische Mathematik
Eingebettetes RK4(3)–VerfahrenHarmonischer Oszillator
0 0.5 1 1.5 2−0.05
0
0.05TOL=100−>#f=337
adaptiv RK4(3)
0 0.5 1 1.5 2
havg = 3.6 · 10−2
hmin= 1.7 · 10−3
hmax= 5.3 · 10−2
0 0.5 1 1.5 2−0.05
0
0.05TOL=10−>#f=477
adaptiv RK4(3)
0 0.5 1 1.5 2
havg = 2.4 · 10−2
hmin= 9.1 · 10−4
hmax= 2.7 · 10−2
0 0.5 1 1.5 2−0.05
0
0.05TOL=0.1−>#f=2357
adaptiv RK4(3)
0 0.5 1 1.5 2
havg = 5.3 · 10−3
hmin= 2.5 · 10−4
hmax= 6.7 · 10−3
– Typeset by FoilTEX – 20
Prof. Dr. Barbara Wohlmuth
Lehrstuhl fur Numerische Mathematik
Runge–Kutta: aquidistant vs. adaptivbei ahnlicher Anzahl von Funktionsauswertungen
Restringiertes 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)
Aquidistante Punkte Adaptive Punkte
– Typeset by FoilTEX – 21
Prof. Dr. Barbara Wohlmuth
Lehrstuhl fur Numerische Mathematik
Runge–Kutta: aquidistant vs. adaptivbei ahnlicher Anzahl von Funktionsauswertungen
Restringiertes Dreikorperproblem
102
103
104
105
106
10−10
10−8
10−6
10−4
10−2
100
Feh
ler
adaptivaequidistant
Anzahl der Funktionsauswertungen
Standard RK4–Verfahren, eingebettetes RK4(3)–Verfahren
Fur einen Fehler in der Großenordnung von 1 km benotigt das aquidistante Verfahren RK4
mit 384000 Funktionsauswertungen uber 60mal mehr als das adaptive RK4(3) Verfahren (6261
Auswertungen).
– Typeset by FoilTEX – 22
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
– Typeset by FoilTEX – 23
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
– Typeset by FoilTEX – 24
Recommended