Explizite gewohnliche Differentialgleichung 1. Ordnung mit...

25
Explizite gew¨ohnliche Differentialgleichung 1. Ordnung mit Anfangsbedingung Gesucht ist eine Funktion y (x), welche erf¨ ullt y = f (x, y ) y (x 0 ) = y 0 Differentialgleichung Anfangsbedingung Wenn f in x stetig ist und einer Lipschitzbedingung gen¨ ugt, dann existiert eine eindeutige L¨ osung in der Umgebung des Anfangspunktes x 0 . 1

Transcript of Explizite gewohnliche Differentialgleichung 1. Ordnung mit...

Page 1: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Explizite gewohnliche Differentialgleichung 1. Ordnung mit

Anfangsbedingung

Gesucht ist eine Funktion y(x), welche erfullt

y′ = f(x, y)

y(x0) = y0

Differentialgleichung

Anfangsbedingung

Wenn f in x stetig ist und einer Lipschitzbedingung genugt, dann

existiert eine eindeutige Losung in der Umgebung des Anfangspunktes

x0.

1

Page 2: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Differentialgleichung gibt Richtungsfeld vor

y′ = xy/4− 1

Drei Losungen zu verschie-

denen Anfangsbedingungen

sind eingetragen 0 1 2 3 4

0

1

2

3

4

2

Page 3: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Eulersches Polygonzugverfahren

Fur die Differentialgleichung und

Anfangsbedingung

y′ = xy/4− 1

y(0) = 3

sind die exakte Losung sowie

drei Naherungen mit Schrittwei-

ten h = 1; 12;14 eingetragen 0 1 2 3 4

0

1

2

3

4

3

Page 4: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Einschrittverfahren: Ablaufschema

Wahle Schrittweite h und maximale Schrittzahl N ;

setze x0 und y0 laut Anfangsbedingung;

fur i = 0,1, . . . , N

xi+1 = xi + h ;

yi+1 = yi + hF(xi, yi, h) .

Die Einschrittverfahren unterscheiden sich in der Wahl der Fortschrei-

tungsrichtung F

Euler-Verfahren: F(x, y, h) = f(x, y),

Modifiziertes Euler-Verfahren: F(x, y, h) = f(

x+ h2, y + h

2f(x, y))

4

Page 5: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Fortschreitungsrichtung F(x, y, h)

5

Page 6: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Modifiziertes Euler-Verfahren

xm

ym

xm+1

ym+1

ym+ ’ym_h2

xm+h2_

F (x, y, h) =

f

(

x+h

2, y +

h

2f(x, y)

)

Verfahren von Heun

xm

ym

xm+1

ym+1

ym+hym’

F (x, y, h) =1

2(k1 + k2) mit

k1 = f(x, y)

k2 = f(x+ h, y + hf(x, y)),

Page 7: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Fortschreitungsrichtung F(x, y, h) beim klassischen Ver-

fahren von Runge-Kutta

F(x, y, h) =1

6(k1 +2k2 +2k3 + k4)

mit

k1 = f(x, y)

k2 = f

(

x+h

2, y +

h

2k1

)

k3 = f

(

x+h

2, y +

h

2k2

)

k4 = f(x+ h, y + hk3).

6

Page 8: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Lokaler Diskretisierungsfehler d(xm, ym, h)

Unterschied zwischen Fort-

schreitungsrichtung F eines

Einschrittverfahrens und ex-

akte Richtung D.

d(xm, ym, h) =

F(xm, ym, h)−D(xm, ym, h) xm

ym

xm+1

ym+1

ym+1

h

D

F

7

Page 9: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Globaler Diskretisierungsfehler

Ist Y die exakte Losung der Anfangswertaufgabe

y′ = f(x, y), y(x0) = y0 ,

und ym die Naherungslosung an der Stelle xm, so nennt man die

Differenz

e(xm, h) = ym − Y (xm)

den globalen Diskretisierungsfehler.

8

Page 10: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Ordnung eines Einschrittverfahrens

Der lokale Diskretisierungsfehler wird fur h → 0 immer kleiner.

Wie rasch?

Die großte naturliche Zahl p mit

d(xm, ym, h) = O(hp)

heißt Ordnung des Verfahrens.

Interpretation

Ordnung 2 bedeutet, der Fehler nimmt quadratisch in h ab: halbe

Schrittweite viertelt den Fehler

9

Page 11: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Konvergenz des Einschrittverfahrens

Ist der lokale Diskretisierungsfehler von der Ordnung p ≥ 1 und genugt

F einer Lipschitzbedingung, so geht auch der globale Diskretisierungs-

fehler mit dieser Ordnung nach Null: Das Einschrittverfahren ist kon-

vergent von der Ordnung p.

10

Page 12: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Numerische Losung: Wichtige Einschrittverfahren sind

• Eulersche Polygonzugverfahren (weil es das einfachste ist: Ver-

fahren 1. Ordnung)

• Verfahren von Heun, modifiziertes Euler-Verfahren (weil sie ge-

nauer sind: Verfahren 2. Ordnung)

• Klassische Runge-Kutta-Verfahren (weil man damit in der Praxis

oft rechnet; Verfahren 4. Ordnung).

• RK-Verfahren mit der Dormand-Prince-Formel (weil Matlabs ode45

damit rechnet, Ordnung 5 mit Kontrollrechnung 4. Ordnung).

11

Page 13: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Wann soll man welche Methode verwenden ?

12

Page 14: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Gegeben ist die Differentialgleichung

y(t) = −5 y(t)

y(0) = 1.

Das explizite Eulerverfahren und das Heun Ver-

fahren mit Schrittweite 0.41 divergiert. Erst mit

Schrittweite kleiner als 0.4 konvergieren beide.

Das implizite Eulerverfahren konvergiert fur alle

oben angegebenen Schrittweiten.0 1 2 3 4 5 6 7 8

−3

−2

−1

0

1

2

3

t

y(t)

Heun: Schrittweiten 0.41, 2/5,0.39,0.3

0 1 2 3 4 5 6 7 8−3

−2

−1

0

1

2

3

t

y(t)

Implizit: Schrittweiten 0.41, 2/5,0.39,0.3

0 1 2 3 4 5 6 7 8−3

−2

−1

0

1

2

3

t

y(t)

Explizit: Schrittweiten 0.41, 2/5,0.39,0.3

13

Page 15: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Wann soll man welche Methode verwenden ?

Stabilitat:

Es gibt verschiedene Definitionen fur Stabilitat eines numerischen Verfahrens. All-gemein kann man sich merken, dass bei einen impliziten Verfahren die Schrittweiteunabhangig von den Problem gewahlt werden kann, bei expliziten Verfahren dieSchrittweite den Problem angepasst werden muss.

• Explizites Euler (1− 5× 0.41)k y0 divergiert (und oszilliert) fur k → ∞;

• Heun Euler(

1− 5× 0.41+ 25× 0.412)k

y0 divergiert fur k → ∞;

• Explizites Euler(

[1 + 5× 0.41]−1)k

y0 konvergiert fur k → ∞.

14

Page 16: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

• Robertson ODE

Gegeben ist die Differentialgleichung y(0) = (1,0,0)und

y1(t) = −0.04 y1(t)

+104y2(t) y3(t),

y2(t) = 0.04 y1(t)− 104y2(t) y3(t)

−3× 107y22(t),

y3(t) = 3× 107y22(t).

Wie man an den Plot sieht, funktioniert der ode45

schlechter als der ode15s, obwohl der ode45 hohereOrdnung hat !

0 1 2 30

0.5

1

1.5

2

2.5

3

3.5

4x 10

−5

t

y 2(t)

ode45

0 1 2 30

0.5

1

1.5

2

2.5

3

3.5

4x 10

−5

t

y 2(t)

ode15s

15

Page 17: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Wann soll man welche Methode verwenden ?

• Steifheit einer Differenzialgleichung:

Sei y(t) = f(y(t)), t ≥ 0, y(0) = y0 gegeben.

Sei Jf(z) = ∂f∂y

y=z.

Dann ist eine mogliche Definition der Steifigkeit

S :=maxj |λj|

minj |λj|

wobei λ1, . . ., λn die Eigenwerte der Matrix Jf(z) ist.

16

Page 18: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Wann soll man welche Methode verwenden ?

• Robertson ODE

Jf(z)

z=y=

y1 104 y3 104y20.04 −104 y3 − 6× 107y2 −104y2 − 6× 107y20 6× 107y2 0

an der Stelle (1,0.1,0.1) erhalt man als Eigenwerte −6, 0.001, 0.00001.

17

Page 19: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Moderne Runge-Kutta-Verfahren

Klassisches RK-Verfahren wertet f(x, y) viermal pro Schritt aus:

f(x, y), f

(

x+h

2, y +

h

2k1

)

, f

(

x+h

2, y +

h

2k2

)

, f(x+ h, y + hk3).

Neuere Verfahren werten f an speziell gunstigen Zwischenstellen aus

und liefern gleichzeitig zwei Werte mit unterschiedlicher Fehlerord-

nung (Differenz ≈ Fehler).

Das Verfahren RK5(4) von Dorman und Prince (MATLAB: ode45)

wertet f sechsmal aus und liefert Ergebnis mit Fehlerordnung 5, ver-

wendet Ergebnis mit Fehlerordnung 4 zur Differenzbildung und Feh-

lerabschatzung

18

Page 20: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Ein- und Mehrschrittverfahren

Runge-Kutta-Verfahren sind Einschritt-Verfahren: um y(x+h) zu berechnen, brau-chen sie die Losung nur am unmittelbar vorhergehenden Punkt y(x).

Mehrschritt-Verfahren verwenden zur Berechnung von y(x+h) die Werte von meh-reren zuruckliegenden Punkten y(x), y(x− h), y(x− 2h) . . ..

Beispiel: Adams-Bashforth-Moulton-Verfahren. Eine Variante davon ist als ode113

in MATLAB verfugbar.

Vorteil: hohe Genauigkeit im Verhaltnis zum Rechenaufwand, besonders bei”teurer“

Auswertung von f .

Nachteil: Braucht Anlaufphase. Nicht einfach bei variabler Schrittweite.

19

Page 21: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Fehlerkontrolle, Schrittweitensteuerung

Eine Schatzung des tatsachlichen Fehlers ǫ1 (absolut oder relativ) bei Schrittweiteh1 sei bekannt. Schrittweite und Fehler stehen bei Fehlerordnung p im Verhaltnis

ǫ2

ǫ1=

(

h2

h1

)p

Um eine gewunschte Fehlerschranke ǫ2 zu erreichen: Andere Schrittweite gemaß

h2 = h1

(

ǫ2

ǫ1

)1

p

Steuerung in Matlab: Schranken fur relativen und absoluten Fehleroptions=odeset(’RelTol’,1.e-7,’AbsTol’,1.e-10)

20

Page 22: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

System gewohnlicher Differentialgleichungen 1. Ordnung,

Anfangswertproblem

Vektorielle Schreibweise (im Skriptum komponentenweise ausgefuhrt) zeigt die Ana-logie zum Anfangswertproblem fur eine explizite DG 1. Ordnung

Gesucht ist eine vektorwertige Funktion y(x), welche erfullt

y′ = f(x,y)

y(x0) = y0

Einschrittverfahren (Eulerscher Polygonzug, Heun, etc. ) lassen sich direkt verall-gemeinern.Numer. Losung im MATLAB mit ode45 analog zu einer DG.

21

Page 23: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Gewohnliche Differentialgleichung hoherer Ordnung

Eine DG hoherer Ordnung (oder ein System solcher DG) lasst sich

durch Einfuhren von Hilfsfunktionen in ein aquivalentes System von

DGs 1. Ordnung transformieren.

Beispiel: Mathematisches Pendel, y = − sin(y)

setzey = y1

y = y2−→ neues Glsyst.

y1 = y2y2 = − sin(y1)

22

Page 24: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Beispiel: die Blasius-Gleichung y′′′ = −yy′′/2

beschreibt Stromung in laminarer Grenzschicht

setze

y = y1

y′ = y2y′′ = y3

−→ neues Glsyst.

y′1 = y2

y′2 = y3y′3 = −y1y3/2

Weitere Beispiele in den Ubungsunterlagen!

23

Page 25: Explizite gewohnliche Differentialgleichung 1. Ordnung mit ...institute.unileoben.ac.at/amat/lehrbetrieb/num/vl-skript/sli10s10.pdf · Explizite gewohnliche Differentialgleichung

Allgemein: Umformen von y(d) = f(x, y, y′, . . . , y(d−1))

Man setzt y1 = y, y2 = y′, . . . , yd = y(d−1) und schreibt

y′1 = y2

y′2 = y3...

y′d−1 = yd

y′d = f(x, y1, . . . , yd)

24