Übungsblatt 5 Musterlösung

Ähnliche Dokumente
Übungsblatt 6 Musterlösung

Übungsblatt 5 Musterlösung

Beispiellösung Serie 7

Musterlösung. Aufgaben zu Iterative Lösung Linearer Gleichungssysteme. Vordiplomskurs Numerische Methoden Sommer 2008

Lineare Iterationsverfahren: Definitionen

III. Iterative Löser. III.1 Direkte Löser und ihre Nachteile. III.2 Klassische lineare Iterationsverfahren

Musterlösung Serie 3

Numerische Lineare Algebra

Iterative Löser: Einführung

Übungsblatt Matlab-Zentralübung Musterlösung

D-MAVT NUMERISCHE MATHEMATIK FS 14 K. Nipp, A. Hiltebrand Lösung vom Test 2

Übungsblatt 2 Musterlösung

Iterative Verfahren, Splittingmethoden

D-MAVT NUMERISCHE MATHEMATIK FS 14 K. Nipp, A. Hiltebrand Lösung vom Test 1

Einführung in die numerische Mathematik

Numerische Analysis - Matlab-Blatt 1

D-ITET, D-MATL. Prüfung Numerische Methoden, Sommer 2012 Dr. Lars Kielhorn

Lösungsvorschlag zur Modulprüfung Numerische Methoden Sommersemester 2016

Ferienkurs Numerik Lösungsskizze. 1 Iterative Verfahren für lineare Gleichungssysteme

D-ITET, D-MATL Numerische Methoden SS 2006 Prof. R. Jeltsch. Musterlösung 6. x A 1 b. A 1 b A 1. x A ( A. gestört: x A 1 =

Klausur zu Grundlagen der Computermathematik

2. Geben Sie für das Jacobi-Verfahren eine scharfe a-priori Abschätzung für den Fehler. x (10) x p

Übungsblatt 6 Musterlösung

Übungsblatt 12 Musterlösung

Musterlösungen zur Leistungsnachweisklausur vom Studiengang Informatik, Ingenieurinformatik, Lehramt

Numerische Analysis - Matlab-Blatt 5

h n = (t t 0 )/n Bevor wir diesen Satz beweisen, geben wir noch einen Hilfssatz an, der eine wichtige Abschätzung liefert.

2. Lineare Gleichungssysteme: direkte und iterative Lösungsverfahren

Lineare Gleichungssysteme

MATLAB Ferienkurs WS 2010/2011

Numerisches Rechnen. (für Informatiker) M. Grepl P. Esser & G. Welper & L. Zhang. Institut für Geometrie und Praktische Mathematik RWTH Aachen

Iterative Methoden zur Lösung von linearen Gleichungssystemen

PVK Probeprüfung FS 2017

5 Numerische Mathematik

(d) das zu Grunde liegende Problem gut konditioniert ist.

5.3.5 Abstiegs & Gradientenverfahren

Einführung in die Programmierung (MA8003)

Übungsblatt 10 Musterlösung

KAPITEL 1. Einleitung

Dr. S. May D-ITET, D-MATL Sommer Numerische Methoden Bonuspunkte Punkte

Aufgabe 1. Berechnen Sie die absolute und die relative Kondition des Problems x f(x) für die Abbildung. x = x 2 e x 1.

Lineare Algebra und Numerische Mathematik D-BAUG. Winter 2013 Prof. H.-R. Künsch. , a R. det(a) = 0 a = 1.

3 Das Programm 3. 4 Dateien 4. 5 Aufgaben 4. 6 Ausblick 5

Banach scher Fixpunktsatz. 1) D ist abgeschlossen und konvex; 2) f ist selbstabbildend, d.h. f(d) D;

Prof. Dr. L. Diening Dipl. Math. S. Schwarzacher Dipl. Math. C. Warmt. Klausur. Numerik WS 2010/11

III. Iterative Löser. III.1 Direkte Löser und ihre Nachteile. III.2 Klassische Iterationsverfahren

Name: Matr.-Nr.: 2. Aufgabe 1. Gegeben sei das folgende lineare Gleichungssystem: b a 2 3a 1

Übungsblatt 4 Musterlösung

2 Lineare Gleichungssysteme

3. Lineare Gleichungssysteme

Numerische Methoden 4. Übungsblatt

Institut für Numerische Simulation der Universität Bonn Prof. Dr. Mario Bebendorf

Lösungsvorschlag zur Modulprüfung Numerische Methoden - Wintersemester 2016/17

Serie 12: Eigenwerte und Eigenvektoren

VF-2: 2. Es seien x = 1 3 und y = π Bei der Berechnung von sin(x) sin(y) in M(10, 12, 99, 99) tritt. Auslöschung auf.

Kommentierte Musterlösung zur Klausur HM II für Naturwissenschaftler

Name: Matr.-Nr.: 2. Aufgabe 1. Gegeben sei die Matrix

c i u i. (10.2) x = i

VF-3: Es seien A R n n beliebig aber regulär, b R n und gesucht sei die Lösung x R n von A x = b.

Klausur zu Grundlagen der Computermathematik

D-MATH Numerische Methoden FS 2018 Dr. Vasile Gradinaru Kjetil Olsen Lye. Serie 6

Übung zur Vorlesung Numerische Simulationsmethoden in der Geophysik

Numerisches Rechnen. (für Informatiker) M. Grepl J. Berger & J.T. Frings. Institut für Geometrie und Praktische Mathematik RWTH Aachen

D-ITET, D-MATL Numerische Methoden FS 2013 Prof. Dr. A. Jentzen M. Sprecher. Musterlösung 4

Mathematische Grundlagen

Musterlösung Klausur zu Analysis II. Verständnisteil

Hörsaalübung 1 Differentialgleichungen I für Studierende der Ingenieurwissenschaften

3 Eigenwertberechnung

D-ITET, D-MATL Numerische Methoden FS 2014 Dr. R. Käppeli M. Sprecher. Musterlösung 5

Lösungsvorschlag zur Nachklausur zur Analysis

PS Numerische Mathematik für LAK WS 08/09, LV-Nr.: , HS Übungsblatt (bis )

D-INFK Lineare Algebra HS 2014 Roman Glebov Marc Pollefeys. Serie 13

Musterlösungen Blatt Mathematischer Vorkurs. Sommersemester Dr. O. Zobay. Matrizen

Lanczos Methoden. Stefan Grell Im Rahmen eines Proseminar zur Numerischen Mathematik unter der Leitung von Prof. Wolf Hofmann. 15.

MATLAB Einführung. Numerische Methoden für ITET und MATL Dr. S. May, D. Devaud. ETH Zürich, Seminar for Applied Mathematics

Lineare Algebra und Numerische Mathematik D-BAUG. Sommer 2012 Prof. H.-R. Künsch

5 Lineare Gleichungssysteme und Determinanten

Woche 08/12 15/12 4. Gershgorin-Kreise, Stabilität und Kondition 1 / 8

u(x, 0) = g(x) : 0 x 1 u(0, t) = u(1, t) = 0 : 0 t T

Zusatzmaterial zu Kapitel 4

III. Iterative Löser. III.1 Direkte Löser und ihre Nachteile. III.2 Klassische Iterationsverfahren. III.3 GMRES und CG-Verfahren

Klausurenkurs zum Staatsexamen (SS 2015): Lineare Algebra und analytische Geometrie 2

Sommersemester 2017 Blatt 1 von 6 Studiengänge: RMM Masterstudiengang Sem. 1 und Wiederholer

Modulprüfung Numerische Mathematik 1

38 Iterative Verfahren für lineare Gleichungssysteme

Begleitmaterial zur Vorlesung Numerik linearer Gleichungssysteme

Übungen zur Mathematik Blatt 1

4 Iterative Lösung Linearer Gleichungssysteme 4.1 Fixpunktiteration und Konvergenzsätze.

KLAUSUR zur Numerik I mit Lösungen. Aufgabe 1: (10 Punkte) [ wahr falsch ] 1. Die maximale Ordnung einer s-stufigen Quadraturformel ist s 2.

Woche 20/12 13/01 4. Iterative Lösung linearer Gleichungssysteme 1 / 5

Universität Tübingen Tübingen, den Mathematisches Institut D. Mansour, J. Seyrich

Institut für Geometrie und Praktische Mathematik

Beispiellösung Serie 2

Numerische Methoden 6. Übungsblatt

Probeklausur zu Funktionentheorie, Lebesguetheorie und gewöhnlichen Differentialgleichungen

1. Anfangswertprobleme 1. Ordnung

D-MATH, D-PHYS, D-CHAB Analysis II FS 2017 Prof. Manfred Einsiedler. Übungsblatt 5 A := u = Au, u(0) = 1. 1

Übung zur Numerik linearer und nichtlinearer Parameterschätzprobleme A. Franke-Börner, M. Helm

Zehnte Vorlesung, 4. Juni 2009, Inhalt. Eigenwerte und Eigenvektoren (2) Gewöhnliche Differentialgleichungen

Mathematik III für Physiker. Übungsblatt 15 - Musterlösung

Transkript:

MSE Mathe 4 SS Übungsblatt Musterlösung Lösung (Solution) Siehe MATLAB Codes function [x_new, it, rho] = jacobi (A, x_start, b, TOL, it_max) 3 % Set up all the quantities used during iteration 4 % Diagonal matrix part of A d = diag(a); 6 D = diag(d); 7 % Iteration matrix N = diag(./d); 9 0 % Spectral radius rho = max(abs(eigs(eye(3)-n*a))); 3 % Jacobi Iteration 4 % Initialize the iteration variable x with the initial value x = x_start; 6 7 % Iterate for a maximum number of iterations for it = :it_max 9 % Jacobi update 0 x_new = x + N * (b - A * x); % Check the size of the residuum, if it is smaller than TOL --> % done 3 if norm(x_new-x)/norm(x) < TOL 4 break; elseif norm(x) <= eps && norm(x_new-x) < e6*eps 6 break; 7 end x = x_new; 9 end 30 3 end function [x_new, it, rho] = gs (A, x_start, b, TOL, it_max) 3 % Set up all the quantities used during iteration 4 % Diagonal matrix part of A d = diag(a); 6 D = diag(d); 7 % Lower triangular part of A L = tril(a,-);

9 % Upper triangular part of A 0 U = triu(a,); % GS-Matrix to be inverted N = inv(d + L); 3 4 % Spectral radius rho = max(abs(eigs(eye(3)-n*a))); 6 7 % GS Iteration % Initialize the iteration variable x with the initial value 9 x = x_start; 0 % Iterate for a maximum number of iterations for it = :it_max 3 % GS update 4 x_new = x + N * ( b - A * x ); % Check the size of the residuum, if it is smaller than TOL --> 6 % done 7 if norm(x_new-x)/norm(x) < TOL break; 9 elseif norm(x) <= eps && norm(x_new-x) < e6*eps 30 break; 3 end 3 x = x_new; 33 end 34 3 end % Eingabe der Matrizen 3 A = [,-,0;-,,-;0,-,]; 4 B = [,,;,,;,,]; 6 % Eingabe der Parameter 7 nmax = 000; tol = e-; 9 x0 = [,,] ; 0 b = [0,0,0] ; % Matrix A 3 [x_jacobi, iter_jacobi, rho_jacobi] = jacobi (A,x0,b,tol,nmax); 4 [x_gs, iter_gs, rho_gs] = gs (A,x0,b,tol,nmax); 6 % Matrix B 7 [x_jacobi, iter_jacobi, rho_jacobi] = jacobi (B,x0,b,tol,nmax); [x_gs, iter_gs, rho_gs] = gs (B,x0,b,tol,nmax);

Lösung (Jacobi- und Gauß-Seidel-Verfahren) 0 0 0 0 0 Es sei: L = 0 0 0, U = 0 0 0 und D = 0 0 0 0 0 α 0 0 0 α 0 0 0 α Die Jacobi-Iteration konvergiert, falls der Spektralradius ρ(m Jac ) der Iterationsmatrix M Jac echt kleiner ist. Die Iterationsmatrix M Jac = I D A errechnet sich wie folgt: 0 0 M Jac = I D (D+L+U) = I D D D (L+U) = D α (L+U) = 0 0 0 0 0 α Die Matrix M Jac besitzt das folgende Spektrum: σ(m Jac ) = { 0, α α},. Damit ist die Konvergenzbedingung ρ(m Jac ) < erfüllt, falls α > gilt. Die Gauß-Seidel-Iteration konvergiert, falls der Spektralradius ρ(m GS ) der Iterationsmatrix M GS echt kleiner ist. Die Iterationsmatrix M GS = I (D +L) A errechnet sich analog zu vorhin wie folgt: M GS = (D+L) U = 0 0 α 0 0 0 0 0 α Die Matrix M GS besitzt das folgende Spektrum: σ(m GS ) = { 0,0, α }. Damit ist die Konvergenzbedingung ρ(m GS ) < erfüllt, falls α > gilt. Lösung 3 (Konvergenz von linearen Iterationsverfahren) a) Mit der Matrix M lässt sich bei Konvergenz (ρ(m) < ) die Fehlerreduktion schreiben als: e (k) = x (k+) x (k) ρ(m) k x () x (0) = ρ(m) k e (0) Um die Anzahl der Schritte für eine vorgegebene Toleranz T OL zu bestimmen, berechnen wir:. e (k) ρ(m) k x () x (0) = ρ(m) k e (0) TOL ( ) ρ(m) k TOL TOL log e (0) k e (0) log(ρ(m)) b) Erläutern Sie inwiefern It(M) := den Fehler der k-ten Iterierten gilt: log(ρ(m)) ein Maß für die Fehlerreduktion ist. Für u (k) u ρ(m) k u (0) u Logarithmieren liefert: log u (k) u klogρ(m)+log u (0) u Woraus sich log ρ(m) als Näherung für die Steigung des Fehlerabfalls ergibt (vgl. Abb. ). Damit ist It(M) := eine untere Abschätzung für die Anzahl der log(ρ(m)) Iterationen (siehe Abschätzung in a)). 3

0 0 Fehler 0 3 0 000 000 3000 4000 Iterationen Abbildung : Beispielhafter Fehlerabfall fürs Jacobiverfahren c) Gesamtkosten C ges des Verfahrens lassen sich bestimmen als C ges = #Iterationen C = k C. Diese lassen sich durch C ges It(M) C schätzen. d) Für It(M i ) gilt: It(M ) = log(ρ) It(M ) = log(ρ 3 ) = 3log(ρ) = 3 It(M ) It(M 3 ) = log(ρ 3) = 3 log(ρ) = 3 It(M ) e) Für die Gesamtkosten ergibt sich zunächst C,ges = It(M ) c C,ges = It(M ) c = 3 It(M ) c = 3 C,ges C 3,ges = It(M 3 ) c = 3 It(M ) c = 3 C,ges Woraus sich C,ges < C,ges < C 3,ges ablesen lässt. Lösung 4 (Vergleich von iterativen Verfahren) a) Um die beiden Löser vergleichen zu können, berechnen wir wieviele Schritte der Löser benötigt um einen Fehler e k um den Faktor zu reduzieren mit den Konvergenzraten ρ, ρ gilt für einen e Iterationsschritt: und für l bzw. l Iterationsschritte: e k+ = ρ e k bzw. e k+ = ρ e k e k+l = ρ l e k bzw. e k+l = ρ l e k. 4

Mit folgt: ρ l = e und ρl = e l = lnρ 0.63 und l = lnρ 0.333. Wegen l l ist das erste Verfahren zu bevorzugen, da der Aufwand des. Verfahrens in einem Schritt doppelt so hoch ist wie der Aufwand des ersten Verfahrens in einem Schritt. b) Eine analoge Rechnung wie in a) liefert, dass wirρ l = mitρ = 0. lösen möchten. 00 Die Lösung dieser Gleichung ist l.6, d.h. es sind ungefähr.6 Iterationsschritte nötig um den Fehler um den Faktor zu reduzieren. 00 c) Der erste Schritt des Jacobi-Verfahrens zur Lösung von Ax = b lautet: x = x 0 +D (b Ax 0 ) = x 0 +D (Ax Ax 0 ) = x 0 D Ax 0 +D Ax. Damit nun x = x unabhängig von x 0 gelten kann, muss A = D erfüllt sein. Das Jacobi-Verfahren ist also für Diagonalmatrizen im ersten Schritt exakt. Modellierung Lösung (Numerische Lösung der Wärmeleitungsleichung) Wir wollen das folgende System gewöhnlicher Differentialgleichungen { y (t) = A h y(t), y(0) = y 0, () lösen, wobei A h = h......... R N N, h = N + d.h. die Matrix A ist in der Zeit konstant. Aus der Aufgabe wissen wir, dass die Matrix A diagonalisierbar ist, d.h. es gibt eine Basiswechselmatrix V, so dass ( ) iπ V AV = Λ = diag(λ,...,λ N ), mit λ i = cos. N + Setze nun u(t) := V y(t). Dann erhalten wir das System V Vy (t) = V AVy(t) { u (t) = Λu(t) u(0) = V y 0.

a) Mit dem expliziten Euler-Verfahren lässt sich die Lösung komponentweise alsu k+,i = u k,i + tλ i u k,i schreiben. Die rekursive Anwendung des Verfahren führt zur Formel u k+,i = (+ tλ i ) k u 0,i. Damit die Lösung stabil bleibt, müssen wir + tλ i für jedes i =,...,N verlangen. Das ist äquivalent dazu + tλ i. Da alle Eigenwerte λ i < 0 sind, erhalten wir die Einschränkung (den Vorfaktor /h nicht vergessen und den betragsgrößten Eigenwert betrachten) t λ N = h cos ( ) h Nπ. N+ b) Beim impliziten Euler-Verfahren haben wir u k+,i = u k,i + tλ i u k+,i, das heißt ( ) ku0 u k+,i = tλ i. Damit wollen wir tλ i haben und das passiert genau dann, wenn tλ i ( tλ i ) tλ i tλ i, was immer erfüllt ist, weil λ i < 0 für jedes i. Also gibt es beim impliziten Euler- Verfahren keine Abhängigkeit von der Zeitschritten bzgl. der Ortdiskretisierung. c) Beim Crank-Nicolson-Verfahren haben wir die Situation u k+,i = u k,i + t ) (λ i u k,i +λ i u k+,i u k+,i = + t λ i tλ u k,i. i Da für jeden Eigentwert λ i < 0 gilt, ist dann + t λ i. Das bedeutet, das Crank- t λ i Nicolson-Verfahren ist numerisch stabil, unabhängig von der Ortdiskretisierung. d) Mögliche Implementierungen von den oben genannten Verfahren: function [tn,yn]=eulero_expl(f,tn,dt,y0) 3 % Inizialisierung der Lösung 4 yn(:,) = y0; 6 % Anzahl der Intervalle in der Zeitdiskretisierung 7 n=length(tn); 9 % Lösung der Differentialgleichung via explizites Euler-Verfahren 0 for i = :n yn(:,i) = yn(:,i-)+dt*feval(f,tn(i-),yn(:,i-)); end 3 end function [tn,yn]=eulero_imp(a,tn,dt,y0) 3 % Inizialisierung der Lösung 4 yn(:,) = y0; 6

6 % Anzahl der Intervalle in der Ortdiskretisierung 7 [N, ~]=size(a); 9 % Anzahl der Intervalle in der Zeitdiskretisierung 0 n=length(tn); % Lösung der Differentialgleichung via implizites Euler-Verfahren 3 for i = :n 4 yn(:,i) = (eye(n)-dt*a)\yn(:,i-); end 6 end function [tn,yn]=crank_nicolson(a,tn,dt,y0) 3 % Inizialisierung der Lösung 4 yn(:,) = y0; 6 % Anzahl der Intervalle in der Ortdiskretisierung 7 [N, ~]=size(a); 9 % Anzahl der Intervalle in der Zeitdiskretisierung 0 n=length(tn); % Lösung der Differentialgleichung via Crank-Nicolson-Verfahren 3 for i = :n 4 yn(:,i) = yn(:,i-)+(dt/)*a*yn(:,i-); yn(:,i) = (eye(n)-(dt/)*a)\yn(:,i); 6 end 7 end zusammen mit dem Main File: % Angabe der Paramenter des Problems a=0; b=; % Ortintervall, d.h. 0 <= x <= b 3 t0 = 0; T = ; % Anfangs- und Endszeitpunkt 4 N=0; % Anzahl der Unterintervalle von [a,b] dx=(b-a)/(n+); % Definition der Ortsschrittweite 6 xn=a:dx:b; 7 y0 = ; % Anfangswert 9 % Aufbau der Matrix A, die aus der Ortsdiskretisierung der 0 % Wï rmeleitungsgleichung durch symmetrische finite Differenzen herkommt. A = diag(-*ones(n,))+diag(ones(n-,),-)+diag(ones(n-,),); A=A/(dx^); 3 4 % Implementierung der rechten Seite der Differentialgleichung y =f(t,y). % In diesem Fall ist f(t,y)=ay, 6 func = @(t,y) A*y; 7 % Anfangswert der Lï sung 7

9 y = -4*y0*xn.*(xn-); 0 y = y(:end-); 3 % Verschiede Wahl der Zeitschrittweite 4 for i=:3 if (i==) 6 dt = (dx^)/; 7 elseif (i==) dt = (dx^)/.9; 9 else 30 dt =.0; 3 end 3 tn=t0:dt:t; % Vektor der Zeiten, wobei wir die Lï sung approximieren 33 34 % Berechnung der numerischen Lï sung mit dem expliziten Euler-Verfahren 3 [tn,yn_ee] = eulero_expl(func,tn,dt,y); 36 % Berechnung der numerischen Lï sung mit dem imliziten Euler-Verfahren 37 [tn,yn_ei] = eulero_imp(a,tn,dt,y); 3 % Berechnung der numerischen Lï sung mit dem Crank-Nicolson-Verfahren 39 [tn,yn_cn] = crank_nicolson(a,tn,dt,y); 40 4 % Plot der approximierten Lï sungen 4 subplot(3,3,i); 43 set(gca, FontSize,); 44 if (i==) 4 title(sprintf( dt=dx^/ )) 46 elseif (i==) 47 title(sprintf( Explizites Euler-Verfahren\n dt=dx^/.9 )) 4 else 49 title(sprintf( dt=.0 )) 0 end hold on; plot(tn,yn_ee(0,:), b ); 3 xlabel( Zeit ); 4 ylabel( Loesung ); hold all 6 7 subplot(3,3,3+i); set(gca, FontSize,); 9 if (i==) 60 title(sprintf( Implizites Euler-Verfahren )) 6 end 6 hold on; 63 plot(tn,yn_ei(0,:), b ); 64 xlabel( Zeit ); 6 ylabel( Loesung ); 66 hold all 67 6 subplot(3,3,6+i);

69 set(gca, FontSize,); 70 if (i==) 7 title(sprintf( Crank-Nicolson-Verfahren )) 7 end 73 hold on; 74 plot(tn,yn_cn(0,:), b ); 7 xlabel( Zeit ); 76 ylabel( Loesung ); 77 hold all 7 end 79 clear; 9