Numerische Mathematik I WS 2016/17 Dr. K. Schmidt M. Sc. G. Radow Übungsblatt 3 (26. Oktober 2016) Aufgabe 3.1 Wandeln Sie den periodischen Dezimalbruch 0.27272727 . . . in einen Bruch um. Leiten Sie ein Gesetz für die Umwandlung periodischer Brüche in Brüche ab. Aufgabe 3.2 Wandeln Sie die folgenden Zahlen in die jeweils gesuchte Form um: a) (1011000)2 = (·)10 , b) (61)10 = (·)2 , c) (1011000)2 = (·)16 , d) (0.84375)10 = (·)2 . Aufgabe 3.3 Schreiben Sie die Zahlen (1300519.11037)10 und (10.01)2 in Gleitkommadarstellung um. Benutzen Sie dabei die jeweils vorgegebene Basis sowie n = 4 Stellen für die Mantisse und s = 2 Stellen für den Exponenten. Aufgabe 3.4 Die Funktion f (x) = cos(x) − 1 soll einmal direkt (Variante A) und einmal unter Verwendung der Näherung x 2 x4 + (Variante B) cos(x) ≈ 1 − 2! 4! berechnet werden. Bestimmen Sie für beide Varianten die Konditionszahlen, wenn x ≈ 0 ist. Aufgabe 3.5 Der Funktionswert von f (x1 , x2 ) = x21 − x22 soll einmal direkt (Variante A) und einmal mit Hilfe der binomischen Formel x21 − x22 = (x1 + x2 )(x1 − x2 ) (Variante B) berechnet werden. Bestimmen Sie für beide Varianten die Konditionszahlen, wenn x21 ≈ x22 ist. Hausaufgaben (Abgabe bis 02. November 2016, 15:30 Uhr) Aufgabe H 3.1 Lösen Sie die folgenden Aufgaben: a) Wandeln Sie die folgenden Zahlen in die jeweils gesuchte Form um: (i) (1100011)2 = (·)10 , (ii) (57)10 = (·)2 , (iii) )] (0.390625)10 = (·)2 . b) Ein hypothetischer Computer möge eine normalisierte Gleitkommadarstellung der Gestalt x = ±(0.α1 α2 , α3 )2 · 2e mit αi ∈ {0, 1} und e ∈ {−1, 0, 1} verwenden. Wieviele Zahlen können auf diese Weise exakt dargestellt werden? Skizzieren Sie die Verteilung dieser Zahlen auf dem Zahlenstrahl. Für welche Zahlen würde “underflow” beziehungsweise “overflow” auftreten? Aufgabe H 3.2 Es gelte x ⊕ y = (x + y)(1 + δ) mit |δ| ≤ u mit der Maschinengenauigkeit u für alle Maschinenzahlen x und y. Seien nun die Maschinenzahlen x1 , . . . , xn gegeben und sei durch s̃1 = x1 , s̃i = s̃i−1 ⊕ xi , i = 2, . . . , m Pm ein Algorithmus zur Berechnung der Summe sm = i=1 xi definiert. a) Berechnen Sie für m = 1, . . . , 4 den absoluten Fehler fm := s̃m − sm . Was fällt auf? Wie lässt sich dieser Fehler durch einen schönen von m abhängigen Term abschätzen? Sieht dieser so aus wie in Aufgabe b)? b) Zeigen Sie: zerlegt man s̃m = sm + fm , so gilt für den absoluten Fehler m |fm | ≤ ((1 + u) − 1) m X |xi |. i=1 Diskutieren Sie den relativen Fehler von s̃m . c) In dieser Aufgabe werden wir sehen, dass die berechnete Lösung gleich der exakten Lösung von leicht gestörten Eingabedaten xi · (1 + δi ) ist. Zeigen Sie, dass s̃m = m X xi (1 + δi ) mit (1 − u)m − 1 ≤ δi ≤ (1 + u)m − 1 i=1 und falls mu < 1 gilt: |δi | ≤ mu , 1 − mu i = 1, . . . , m. Aufgabe H 3.3 Zu lösen sei die quadratische Gleichung x2 − 2px − q = 0 für p = 2, q = 0.0005 in vier- und fünfstelliger Gleitkommaarithmetik im Dezimalsystem. Dabei sollen die folgenden Algorithmen untersucht werden: √ √ d, x2 = p − d, √ . (ii) d = p2 + q, x1 = p + d, x2 = −q x1 (i) d = p2 + q, x1 = p + Vergleichen Sie die Ergebnisse mit der exakten Lösung und erklären Sie die unterschiedlichen Resultate. Programmieraufgabe H 3.4 Schreiben Sie Funktionen e=meps(), m=minimum(), m=maximum() die das Maschinenepsilon eps, die kleinste darstellbare positive Zahl xmin , bzw. die größte darstellbare Zahl xmax berechnen. Dabei ist eps als die kleinste Zahl definiert für die 1 ⊕ eps > 1 gilt. In den Funktionen soll nur benutzt werden, dass intern eine Gleitkommadarstellung basierend auf dem Dualsystem verwendet wird. Vergleichen Sie Ihre Ergebnisse mit den entsprechenden Matlab-Funktionen (eps, realmin, realmax). Interpretieren Sie die Unterschiede. Die Aufgabe H 3.4 ist mit Matlab oder Octave zu lösen. Senden Sie eine Textdatei mit den Ein- und Ausgaben der Konsole und die erstellten m-files an [email protected] und geben Sie Ihre Diskussion der Aufgabe in Papierform oder E-Mail ab. Die Aufgaben sind spätestens vor der nächsten Übung abzugeben. Für eine erfolgreiche Abgabe muss mehr als die Hälfte der Aufgaben gelöst werden.