Numerische Verfahren Numerische Methoden von gewöhnlichen Differentialgleichungen (AWP) Prof. Dr.-Ing. K. Warendorf, Prof. Dr.-Ing. P. Wolfsteiner Hochschule für Angewandte Wissenschaften München (FH) Fakultät 03 WS10/11 Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 1 / 16
Inhalt 1 Explizite Zeitschrittverfahren für DGL 1. Ordnung Einleitung Explizites Euler-Verfahren Runge-Kutta-Verfahren 4. Ordnung 2 3 DGL-Systeme 1. Ordnung 4 Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 2 / 16
Einleitung Einleitung Explizites Euler-Verfahren Runge-Kutta-Verfahren 4. Ordnung Gegeben sei das Anfangswertproblem: y = f (x, y), y(x 0) = y 0 Aufgabe Berechnung eines Näherungswertes an der Stelle x n = b. y n y(b) mit der Diskretisierung: Zerlegung des Integrationsintervalles [a = x 0, b] in: a = x 0 < x 1 < < x n = b Feste Schrittweite: h = b a = x n i x i 1 Achtung: Der Stabilitätsbereich eines expliziten Einschrittverfahrens und damit die Schrittweite h sind beschränkt. Für zu große h divergiert das Verfahren. h ist auch nach unten beschränkt, da sonst die Rundungsfehler überwiegen! Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 3 / 16
Explizites Euler-Verfahren Einleitung Explizites Euler-Verfahren Runge-Kutta-Verfahren 4. Ordnung Fortschreiterichtung: Steigung in x i 1 Euler-Verfahren Gegeben: Anfangswert: (x 0, y 0 ), Schrittweite: h y i = y i 1 + h f (x i 1, y i 1 ), i = 1,..., n Globaler Diskretisierungsfehler: O(h). Verfahren 1. Ordnung (Konvergenz) Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 4 / 16
Runge-Kutta-Verfahren 4. Ordnung Einleitung Explizites Euler-Verfahren Runge-Kutta-Verfahren 4. Ordnung Fortschreiterichtung: mittlere Steigung: Berechnet aus den 4 Steigungen in x i 1, x i und 2 Punkten in der Mitte Runge-Kutta-Verfahren 4. Ordnung Gegeben: Anfangswert: (x 0, y 0), Schrittweite: h y i = y i 1 + 1 6 (k1 + 2k2 + 2k3 + k 4), i = 1,..., n k 1 = h f (x i 1, y i 1) k 2 = h f (x i 1 + 1 h, 2 yi 1 + 1 k1) 2 k 3 = h f (x i 1 + 1 h, 2 yi 1 + 1 k2) 2 k 4 = h f (x i 1 + h, y i 1 + k 3) Globaler Diskretisierungsfehler: O(h 4 ). Verfahren 4. Ordnung (Konvergenz) Matlab: ode45(...). Dieses und entsprechende Verfahren sind mit automatischer Schrittweitensteuerung implementiert. Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 5 / 16
Implizites Euler-Verfahren Implizites Verfahren: Die Funktion f wird nicht an dem schon berechneten Punkt (x i 1, y i 1) ausgewertet, sondern an dem neuen Punkt (x i, y i) Implizites Euler-Verfahren Gegeben: Anfangswert: (x 0, y 0), Schrittweite: h y i = y i 1 + h f (x i, y i), i = 1,..., n Globaler Diskretisierungsfehler: O(h). Verfahren 1. Ordnung (Konvergenz) Das Verfahren ist unbeschränkt absolut stabil (A-stabil), d.h. h unterliegt aufgrund der Stabilität keiner Beschränkung nach oben. Es entsteht eine (nicht)-lineare Gleichung (bzw. System). Diese muss mit geeigneten (numerischen) Verfahren (z.b.) Newton-Verfahren, Fixpunktiteration) gelöst werden. Implizite Verfahren werden insbesondere zur Lösung von steifen DGL-Systemen genutzt. Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 6 / 16
DGL-Systeme 1. Ordnung DGL-Systeme 1. Ordnung Die numerischen Verfahren zur Lösung von DGLn 1. Ordnung lassen sich entsprechend auf Systeme 1. Ordnung übertragen. Die skalaren Operationen müssen als Vektoroperationen aufgefasst werden. DGL-System 1. Ordnung y 1 = f 1 (x, y 1,..., y n ) y 2 = f 2 (x, y 1,..., y n ). y n = f n (x, y 1,..., y n ) : Vektorschreibweise: y = F(x, y) mit den Anfangsbedingungen y 1 (x 0 ) = y (0) 1, y 2(x 0 ) = y (0) 2,..., y n(x 0 ) = y n (0) bzw. y(x 0 ) = y 0. Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 7 / 16
DGL-Systeme 1. Ordnung Explizites Euler-Verfahren für DGL-System 1. Ordnung Euler-Verfahren Gegeben: Anfangswerte: y 1 (x 0 ) = y (0) 1, y 2(x 0 ) = y (0) 2,..., y n(x 0 ) = y n (0) bzw. y(x 0 ) = y 0, Schrittweite: h y i = y i 1 + h F(x i 1, y i 1 ), i = 1,..., n Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 8 / 16
auf ein System 1. Ordnung () Die numerische Lösung von DGLn höherer Ordnung oder von Systemen, erfordert ein Umschreiben in die sogenannte (System 1. Ordnung). DGL n-ter Ordnung: y (n) = f (x, y, y,..., y (n 1) ), Anfangsbedingungen: y(x 0), y (x 0),..., y (n 1) (x 0) Zustandsgrößen: z 1 = y, z 2 = y, z 3 = y,... z n = y (n 1) Umformung in ein System 1. Ordnung: z 1 = z 2, z 1(x 0) = y(x 0) z 2 = z 3, z 2(x 0) = y (x 0).,. z n 1 = z n, z n 1(x 0) = y (n 2) (x 0) z n = f (x, z 1,..., z n), z n(x 0) = y (n 1) (x 0) Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 9 / 16
für DGLn 2. Ordnung I DGL 2. Ordnung: y = f (x, y, y ) mit AB: y(x 0 ) = y (0) 1, y (x 0 ) = y (0) 2 lässt sich durch z 1 = y, z 2 = y überführen in die : z 1 = z 2, z 1 (x 0 ) = z (0) 1 = y (0) 1 z 2 = f (x, z 1, z 2 ), z 2 (x 0 ) = z (0) 2 = y (0) 2 Vektorielle Schreibweise: z = z 2 f (x, z) (1) Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 10 / 16
für DGLn 2. Ordnung II Euler-Verfahren für obiges System (1) Gegeben: Anfangswerte: (x 0, z (0) 1 ),(x 0, z (0) 2 ) Schrittweite: h, Schrittanzahl: m z (i) 1 = z (i 1) 1 + h z (i 1) 2 z (i) 2 = z (i 1) 2 + h f (x i 1, z (i 1) 1, z (i 1) 2 ) i = 1,..., m Vektorielle Schreibweise: z i = z i 1 + h z i 1 Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 11 / 16
einer DGL 2. Ordnung: Punktpendel Nichtlineare DGL 2. Ordnung in ϕ: m l 2 ϕ(t) = m g l sin (ϕ(t)) ϕ(t) = g l sin (ϕ(t)) Anfangsbedingungen: Anfangswinkel: ϕ(0), Anfangswinkelgeschwindigkeit: ϕ(0) Zustandsgrößen: Lage: z 1(t) = ϕ(t), Geschwindigkeit: z 2(t) = ϕ(t) Umformung in ein System 1. Ordnung: ż 1 = z 2, z 1(0) = ϕ(0) ż 2 = g l sin (z 1(t)), z 2(0) = ϕ(0) Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 12 / 16
eines Systems 2. Ordnung: I System von DGL 2. Ordnung in y 1,..., y n: y 1 = f 1(x, y 1,..., y n, y 1..., y n). y n = f n(x, y 1,..., y n, y 1..., y n) Anfangsbedingungen: y 1(x 0),..., y n(x 0), y 1(x 0),..., y n(x 0) Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 13 / 16
eines Systems 2. Ordnung: II Zustandsgrößen: z 1 = y 1,..., z n = y n z n+1 = y 1,..., z 2n = y n Umformung in ein System 1. Ordnung: z 1 = z n+1, z 1(x 0) = y(x 0).,. z n = z 2n, z n(x 0) = y n(x 0) z n+1 = f 1(x, z 1,..., z n, z n+1..., z 2n), z n+1(x 0) = y 1(x 0).,. z 2n = f n(x, z 1,..., z n, z n+1..., z 2n), z 2n(x 0) = y n(x 0) Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 14 / 16
eines Systems 2. Ordnung: Federpendel I System von DGL 2. Ordnung in ϕ, l: m (l(t) ϕ(t) + 2 l(t) ϕ(t)) = mg sin(ϕ(t)) m ( l(t) l(t) ϕ 2 (t)) = c(l(t) l F ) + mg cos(ϕ(t)) ϕ(t) = 1 l ( g sin(ϕ(t)) 2 l(t) ϕ(t)) l(t) = c m (l(t) l F) + g cos(ϕ(t)) + l(t) ϕ 2 (t) Anfangsbedingungen: Anfangslage: ϕ(0), l(0) Anfangswinkelgeschwindigkeit: ϕ(0), l(0) Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 15 / 16
eines Systems 2. Ordnung: Federpendel II Zustandsgrößen: Lage: z 1(t) = ϕ(t), z 2(t) = l(t) Geschwindigkeit: z 3(t) = ϕ(t), z 4 (t) = l(t) Umformung in ein System 1. Ordnung: ż 1 = z 3, z 1(0) = ϕ(0) ż 2 = z 4, z 2(0) = l(0) ż 3 = 1 z 2 (g sin(z 1) + 2z 4 z 3), z 3(0) = ϕ(0) ż 4 = c m (z2 l F) + g cos(z 1) + z 2z3 2, z 4 (0) = l(0) Prof. Dr.-Ing. K. Warendorf (Fakultät 03) Numerische Verfahren WS10/11 16 / 16