Prof. Dr. Angela Kunoth Christian Mollet Numerik I SS 2015 Übungsblatt 2 Ausgabe: 27.04.2015 Abgabe: Montag, 04.05.2015 bis 12:00 Uhr Aufgabe 5: (3 Punkte) Schreiben Sie ein kurzes Matlab-Programm, welches die Maschinengenauigkeit eps im MatlabStandardformat double bestimmt. Nutzen Sie hierzu die Definition als betragsmäßig kleinste Zahl die addiert zu 1.0 in float-Darstellung (double-precision) echt größer als 1.0 ist, d.h. eps := inf{δ > 0 : fl(1 + δ) > 1}, 1−m wobei fl(x) die Rundung der Zahl x bezeichnet. Verwenden Sie nicht die Definition eps := b 2 oder die vordefinierte Matlab-Konstante eps. Zu Abgabe: Geben Sie einen Ausdruck des Programmdurchlaufs und des Codes ab und schicken Sie Ihren Programmcode zusätzlich per Email an Ihren jeweiligen Übungsgruppenleiter. Die Email-Adressen finden Sie auf der Veranstaltungshomepage. Aufgabe 6: (5 Punkte) Betrachten Sie die Rekursionsformel xk := 5 16 xk−1 − xk−2 , 3 3 k ≥ 2, (1) mit x0 := 1 und x1 := 21 . a) Zeigen Sie, dass xk = 27 1 k 1 28 3 + 28 5k , k ∈ N0 , gilt. b) Schreiben Sie ein Programm, welches mit Hilfe der Formel (1) die Werte xk für k = 2, 3, 4, . . . , 20 berechnet. Geben Sie jeweils den absoluten und den relativen Fehler an. Zu Abgabe: Geben Sie einen Ausdruck des Programmdurchlaufs und des Codes ab und schicken Sie Ihren Programmcode zusätzlich per Email an Ihren jeweiligen Übungsgruppenleiter. Die Email-Adressen finden Sie auf der Veranstaltungshomepage. Zum Verständnis des Programms müssen die wesentlichen Schritte im Code kommentiert sein. c) Die allgemeine Lösung der Rekursionsvorschift (1) lautet !k 1 xk = a1 (x0 , x1 ) + a2 (x0 , x1 ) 5k , 3 k ∈ N0 , wobei sich die Koeffizienten a1 := a1 (x0 , x1 ) und a2 := a2 (x0 , x1 ) eindeutig aus den Startwerten x0 und x1 berechnen lassen. Wir halten x0 = 1 fest. 1. Bestimmen Sie a1 (1, x1 ) und a2 (1, x1 ). 2. Berechnen Sie die absolute und die relative Konditionszahl κk,abs := dxk , dx1 κk,rel := x1 κk,abs xk von xk bezüglich x1 bei x1 = 1/2. Aufgabe 7: (6 Punkte) Ein –zugegeben etwas primitiver – Rechner stellt reelle Zahlen im Festkommaformat mit einem Byte dar. Dabei werden ein Vorzeichen-Bit, vier Bits vor dem Komma und drei Bits hinter dem Komma verwendet. Somit haben die Zahlen im Rechner die Form x = (−1) s 6 X di · 2i−3 = sd6 d5 d4 d3 .d2 d1 d0 , i=0 mit s, di ∈ {0, 1}, i = 0, . . . 6, zum Beispiel 10010.010 für −2.25. a) Welche Darstellungen haben die Zahlen 7.25 und −5.625? b) Wie viele verschiedene Zahlen können im obigen Format dargestellt werden? c) Geben Sie die maximale und die minimale darstellbare echt positive Zahl xmax > 0 und xmin > 0 an. d) Nicht darstellbare Zahlen x̃ im Bereich [−xmax , xmax ] werden auf die nächste darstellbare Zahl x gerundet. Dabei tritt ein (absoluter) Rundungsfehler eabs := |x − x̃| auf. Relativ zu | x̃| ist dieser Fehler als erel := |x − x̃| | x̃| definiert. Geben Sie den absoluten und den relativen Rundungsfehler bei der Darstellung der Zahl x̃ = an. 1 3 e) Bestimmen Sie den maximalen absoluten und relativen Rundungsfehler für reelle Zahlen im Bereich [xmin , xmax ]. Aufgabe 8: (6 Punkte) Wir betrachten einen Rechner mit Gleitkommaarithmetik, der einen deutlich geringeren maximalen (relativen) Rundungsfehler aufweisen soll als ein Rechner mit Festkommaarithmetik (vgl. Aufgabe 7). Gleitkommazahlen haben die Form x = ±M · be mit Mantisse M der Länge m, Exponent e und Basis b. Beispiel: 0.000031 = 0.31 · 10−4 = 3.1 · 10−5 . Die durch führende Nullen entstehenden Mehrdeutigkeiten sind unerwünscht, daher einigen wir uns auf die normalisierte Darstellung M = d1 .d2 d3 . . . dm mit d1 , 0. Nur für x = 0 erlauben wir, dass alle Ziffern di = 0 sind. Wir stellen nun die Mantisse in Binärdarstellung b = 2 dar. Ausserdem verwenden wir m = 3, also 2 Ziffern für die Nachkommastellen. Damit ist unsere RechnerGleitkommadarstellung gegeben durch x = ±d1 .d2 d3 · 2e , wobei d1 = 1 und d2 sowie d3 entweder 0 oder 1 ist. Ausserdem verwenden wir als Spezialfall ±0 = ±0.00 · 20 . Als Exponent erlauben wir nur e = −1, e = 0 und e = 1. a) Geben Sie alle darstellbaren, nichtnegativen Gleitkommazahlen an. b) Sie werden feststellen, dass die Abstände zwischen aufeinanderfolgenden Gleitkommazahlen stark variieren. Markieren Sie alle darstellbaren nichtnegativen Zahlen auf einem Zahlenstrahl. c) Zur Darstellung einer beliebigen reellen Zahl x verwenden wir wieder die nächstgelegene Gleitkommazahl. Geben Sie den absoluten und den relativen Rundungsfehler bei der Darstellung der Zahlen x = 58 9 und x = 16 an.