2 - SAM - ETH Zürich
2 - SAM - ETH Zürich
2 - SAM - ETH Zürich
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />
1.4<br />
Anwendung auf kleine Zeitintervalle [t 0 ,t 1 ], [t 1 ,t 2 ], ..., [t N−1 , t N ] ➤ implizites Euler-Verfahren<br />
y<br />
1.2<br />
1<br />
0.8<br />
0.6<br />
0.4<br />
0.2<br />
0<br />
−0.2<br />
−0.4<br />
exact solution<br />
explicit Euler<br />
✁ λ = 90, — ˆ= exakte Lösung, — ˆ= Eulerpolygon<br />
y k schiessen über den stark attraktiven<br />
Fixpunkt y = 1 hinaus.<br />
➥ Beobachtung: exponentiell anwachsende<br />
Oszillationen der y k<br />
durch implizites Eulerverfahren erzeugte Näherung für y(t k ) erfüllt<br />
y k+1 := y h (t k+1 ) = y h (t k ) + h k f(t k+1 ,y k+1 ) , k = 0,...,N − 1 , (1.4.9)<br />
mit lokaler (Zeit)schrittweite h k := t k+1 − t k .<br />
Beachte: (1.4.9) erfordert Auflösen einer (evtl. nichtlinearen) Gleichung nach y k+1 !<br />
(➤ Terminologie ”<br />
implizit”)<br />
Bemerkung 1.4.4 (Implizites Eulerverfahren als Differenzenverfahren).<br />
t<br />
Fig. 32<br />
✸<br />
(1.4.9) aus Approximation der Zeitableitung<br />
dt d durch Rückwärtsdifferenzenquotienten auf Zeitgitter<br />
G := {t 0 , t 1 ,...,t N }:<br />
Einsicht durch Modellproblemanalyse: einfachste Dgl. mit stark attraktivem Fixpunkt y = 0<br />
Homogene lineare skalare Dgl., Sect. 1.3.2 : ẏ = f(y) := λy , λ < 0 . (1.4.6)<br />
ẏ = λy , y(0) = y 0 ⇒ y(t) = y 0 exp(λt) → 0 für t → ∞ . (1.4.7)<br />
ẏ = f(t,y) ←→ y h(t k+1 ) − y h (t k )<br />
h k<br />
= f(t k+1 ,y h (t k+1 )) , k = 0,...,N − 1 .<br />
△<br />
Rekursion des expliziten Eulerverfahrens für (1.4.6) (uniforme Zeitschrittweite h > 0)<br />
Beispiel 1.4.5 (Implizites Eulerverfahren für logistische Differentialgleichung). → Bps. 1.4.3<br />
(1.4.2) for f(y) = λy: y k+1 = y k (1 + λh) . (1.4.8)<br />
1.4<br />
p. 69<br />
Wiederholung der numerischen Experimente aus Beispiel 1.4.3 für implizites Eulerverfahren (1.4.9):<br />
1.4<br />
p. 71<br />
y k = y 0 (1 + λh) k ⇒ |y k | →<br />
{<br />
0 , wenn λh > −2 (qualitativ richtig) ,<br />
∞ , wenn λh < −2 (qualitativ falsch) .<br />
10 0<br />
λ = 1.000000<br />
λ = 3.000000<br />
λ = 6.000000<br />
λ = 9.000000<br />
O(h)<br />
10 0<br />
10 −2<br />
λ = 10.000000<br />
λ = 30.000000<br />
λ = 60.000000<br />
λ = 90.000000<br />
O(h)<br />
1.4.2 Das implizite Euler-Verfahren<br />
error (Euclidean norm)<br />
10 −1<br />
10 −2<br />
10 −3<br />
error (Euclidean norm)<br />
10 −4<br />
10 −6<br />
10 −8<br />
10 −10<br />
10 −12<br />
10 −4<br />
10 −14<br />
Wie vermeidet man das Überschiessen des expliziten Eulerverfahrens bei stark attraktiven Fixpunkten<br />
und grossen Zeitschrittweiten ?<br />
y<br />
y h (t 1 ) y(t)<br />
y 0<br />
t<br />
t 0 t 1 Fig. 33<br />
Idee: Approximiere Lösung durch (t 0 , y 0 ) auf<br />
[t 0 ,t 1 ] durch<br />
• Strecke duch (t 0 , y 0 )<br />
• mit Steigung f(t 1 , y 1 )<br />
✁ — ˆ= Lösungkurve durch (t 0 , y 0 ),<br />
— ˆ= Lösungkurve durch (t 1 , y 1 ),<br />
— ˆ= Tangente an — in (t 1 ,y 1 ).<br />
1.4<br />
p. 70<br />
10 1 timestep h<br />
10 −5<br />
10 −3 10 −2 10 −1 10 0<br />
λ klein: O(h)-Konvergenz (asymptotisch)<br />
Fig. 34<br />
Modellproblemanalyse (wie in Abschnitt 1.4.1):<br />
( ) 1 k<br />
y k = y 0 ⇒ |y<br />
1 − λh k | →<br />
10 2 timestep h<br />
10 −16<br />
10 −3 10 −2 10 −1 10 0<br />
Fig. 35<br />
λ gross: stabil für alle Zeitschrittweiten h !<br />
(1.4.9) for f(y) = λy: y k+1 = y k<br />
1<br />
1 − λh . (1.4.10)<br />
⎧<br />
⎪⎨ 0 , wenn λh < 0 (qualitativ richtig) ,<br />
∞ , wenn 0 < λh < 1 (qualitativ richtig) ,<br />
⎪⎩<br />
∞ , wenn λh > 1 (Oszillationen, qualitativ falsch) .<br />
✸<br />
1.4<br />
p. 72