Einführung in die Numerik & Numerik für Studierende der Naturwissenschaften Frühjahrsemester 2017 Prof. Dr. H. Harbrecht Übungsblatt 2. Abgabe bis: Montag, 13.03.2017, 14 Uhr Aufgabe 1 (LR-Zerlegung | 4 Punkte). Bestimmen Sie die LR-Zerlegung der Matrix 2 6 4 4 A= 8 4 4 8 4 4 4 2 . 16 2 0 13 Berechnen Sie det(A) mit Hilfe Ihrer LR-Zerlegung von A. Aufgabe 2 (LR-Zerlegung von Tridiagonalmatrizen | 4 Punkte). Gegeben sei die Tridiagonalmatrix a1 c1 b2 a2 c2 . . . .. .. .. A= ∈ Rn×n . bn−1 an−1 cn−1 bn an Berechnen Sie die zugehörige LR-Zerlegung der Form r1 s1 1 `2 1 r2 . . .. .. R= L= , `n−1 1 `n 1 s2 .. . .. . rn−1 . sn−1 rn Aufgabe? 3 (Kondition und Fehlerverstärkung | 4 Punkte). Gegeben seien die Matrizen 101 99 A= , 99 101 101 99 B= . −99 101 (a) Berechnen Sie die Konditionszahlen cond∞ A und cond∞ B. (b) Lösen Sie die Gleichungssysteme Ax = b, A(x + ∆x) = b + ∆b, b = b + ∆b b A(x + ∆x) für die Vektoren 1 b= , 1 δ ∆b = , δ b = ∆b δ , −δ mit einer kleinen Zahl δ > 0. Vergleichen Sie die jeweiligen Fehler mit den allgemeinen Fehlerabschätzungen k∆xk∞ k∆bk∞ ≤ cond∞ (A) kxk∞ kbk∞ und b b k∆xk k∆bk ∞ ∞ ≤ cond∞ (A) . kxk∞ kbk∞ Aufgabe? 4 (diagonaldominante Matrizen | 4 Punkte). Sei A = [ai,j ]ni,j=1 eine strikt diagonaldominante (n × n)-Matrix, d.h. es gelte n X |ai,j | < |ai,i | für i = 1, . . . , n. j=1 j6=i Zeigen Sie, dass die LR-Zerlegung durchführbar ist, wobei die bei jedem Teilschritt entstehende Matrix Ai wieder strikt diagonaldominant ist. Programmieraufgabe 5 (Gauss-Algorithmus | 4 Punkte). Die LR-Zerlegung kann durch folgenden Algorithmus berechnet werden: Algorithmus Gauss Input: A = [ai,j ]ni,j=1 ∈ Rn×n Output: LR-Zerlegung von A for j = 1, . . . , n − 1 do for i = j + 1, . . . , n do setze ai,j := ai,j /aj,j for k = j + 1, . . . , n do setze ai,k := ai,k − ai,j · aj,k end for end for end for Bei der Implementation in MATLAB ist es möglich die zwei inneren expliziten Schleifen durch Vektor- und Matrixblockzuweisungen und Rang-1-Matrizen zu ersetzen. Für den Rest der Aufgabe vereinbaren wir hierzu folgende Notation: Sei A = [ai,j ]ni,j=1 ∈ Rn×n eine Matrix. Dann definieren wir ai,j · · · ai,k .. . Ai:l,j:k := ... . al,j · · · al,k Der Algorithmus wird dann zu: Algorithmus Gauss-Rank1 Input: A = [ai,j ]ni,j=1 ∈ Rn×n Output: LR-Zerlegung von A for j = 1, . . . , n − 1 do setze Aj+1:n,j := Aj+1:n,j /aj,j update Aj+1:n,j+1:n := Aj+1:n,j+1:n − Aj+1:n,j · Aj,j+1:n end for (a) Schreiben Sie MATLAB-Funktionen A = gauss(A) bzw. A = gaussRank1(A) welche diese zwei Algorithmen numerisch implementieren. (b) Testen Sie nun Ihre Implementierung. Gehen Sie dazu wie folgt vor: A = toeplitz(3*666:-1:1); B = A; tic; B = gauss(B); toc oder tic; B = gaussRank1(B); toc L = eye(size(B)) + tril(B, -1); U = triu(B); norm(A - L*U) Die berechnete Norm soll dabei von der Grössenordnung 10−10 sein.
© Copyright 2025 ExpyDoc