Numerik I - Institut für Mathematik und Informatik

Werbung
Prof. Dr. R. Pulch
Tino Soll, M. Sc.
Sommersemester 2016
Ernst-Moritz-Arndt-Universität Greifswald
Mathematisch-Naturwissenschaftliche Fakultät
Institut für Mathematik und Informatik
Präsenzaufgabe 2 : Rundungsfehleranalyse der Summation.
Es sollen n nichtnegative Maschinenzahlen ai ∈
ist, aufsummiert werden:
Numerik I
sn :=
n
X
R, wovon mindestens eine positiv
ai .
i=1
Übungsblatt 1
Die Aufgabe wird durch den seriellen Summierungsalgorithmus
s1 = a1
Präsenzaufgabe 1 : Gleitpunktarithmetik.
si = (si−1 + ai ),
Es sei B = 2, t = 4, M und E ganze Zahlen.
G
:= {g = M · B E : M = 0 oder B t−1 ≤ |M | < B t }
(t-stellige Gleitpunktzahlen zur Basis B)
M := {g = M · B E ∈ G : −6 ≤ E ≤ −2}
(korrespondierende Maschinenzahlen)
Führen Sie eine Rundungsfehleranalyse der seriellen Summation wie folgt durch,
wobei eine ideale Gleitpunktarithmetik gelte.
a) P
Zeigen Sie durch vollständige Induktion, dass für eine Näherung xn zu sn =
n
i=1 ai für n (berechnet mit dem seriellen Summationsalgorithmus)
xn =
n
X
ai
i=1
c) Bestimmen Sie den maximalen und minimalen relativen und absoluten Abstand zweier aufeinanderfolgender positiver Zahlen von M.
d) Versuchen Sie die Zahlen 1.625, 3.7, 0.02 und 4.2 als Maschinenzahl aus M
darzustellen. Welche Maschinzahlen ergeben sich bei Rundung, welche bei Abbrechen der Mantisse?
e) Wir betrachten nun G mit B = 10 und t = 3. Seien x = 100 · 10−2 , y =
−555 · 10−3 und
i = 2, . . . , n
gelöst.
a) Bestimmen Sie die größte und kleinste positive Zahl von M.
b) Markieren Sie M qualitativ auf der Zahlengeraden.
für
n
Y
(1 + εj )
j=i
mit ε1 = 0 und |εj | ≤ ε0 für j = 2, . . . , n gilt (ε0 : Maschinengenauigkeit).
b) Schätzen Sie die relative Fehlerformel für xn so nach oben ab, dass Sie einen
Ausdruck wie folgt erhalten:
xn − sn sn ≤ f (n) ε0 ,
wobei f von Ihnen zu bestimmen ist.
x0 = x, x1 = (x0 y) ⊕ y, . . . , xn = (xn−1 y) ⊕ y
gegeben. Vergleichen Sie die Ergebnisse bei exakter Rundung bzw. bei Schul”
runden“.
Hinweis: Linearisieren Sie hierzu die Fehlerformeln in Aufgabenteil a), indem
Sie quadratische und höhere Terme in εj vernachlässigen. Ist die serielle Summation gutartig im Sinne der Vorwärtsanalyse?
c) Verwenden Sie Aufgabenteil a), um eine Rückwärtsanalyse der seriellen Summation durchzuführen. Ist die serielle Summation gutartig im Sinne der Rückwärtsanalyse?
Übungsblatt 1
2
Hausaufgabe 1 : Regelverletzung durch Rundungsfehler.
b) Zeigen Sie, dass die Folge der Integrale die Zwei-Term-Rekursion
a) Geben Sie kurze Beweise für die Gültigkeit des Kommutativgesetzes für die
Addition und die Multiplikation in Gleitpunktrechnung in idealer Arithmetik
an.
Verdeutlichen Sie, wo dabei die Kommutativität von Addition und Multiplikation reeller Zahlen benutzt wird.
In =
1
15
− In−1
2n
2
(?)
für n ≥ 1 erfüllt und der Anfangswert I0 = 12 [ln(17) − ln(15)] ist.
Hinweis: Man benötigt hier keine partielle Integration.
b) Betrachten Sie die Gleitpunktzahlen
G := {g = M · B E : M = 0 oder B t−1 ≤ |M | < B t }
zur Basis B = 10 mit der Mantissenlänge t = 2.
Geben Sie je ein Beispiel für eine Gleitpunktrechnung in idealer Arithmetik
an, bei der das Assoziativgesetz der Multiplikation, das Assoziativgesetz der
Addition und das Distributivgesetz verletzt ist.
c) Welche der folgenden Dezimalzahlen gehören zu den Maschinenzahlen
M := {g = M · B E ∈ G : α ≤ E ≤ β}
mit Basis B = 2, Mantissenlänge t = 3, Exponentenschranken α = −4, β = 1?
Welche gehören nicht dazu? Begründen Sie jeweils Ihre Aussagen.
a1 = −0.125,
a2 = 2.75,
a3 = 3.5,
a4 = 24,
a5 = −1.25
Programmierhausaufgabe 1 : Zwei-Term-Rekursionen.
Implementieren Sie die Rekursion aus Hausaufgabe 2 in zwei Varianten.
a) Vorwärtsrekursion:
Verwenden Sie die Zwei-Term-Rekursion (?) aus Hausaufgabe 2 b) zur Bestimmung von In mit dem gegebenen Startwert I0 . Implementieren Sie Ihren
Algorithmus und rechnen Sie bis n = 30. Vergleichen Sie die Ergebnisse mit
der Abschätzung aus Hausaufgabe 2 a).
b) Rückwärtsrekursion:
Leiten Sie aus (?) eine Zwei-Term-Rekursion zur Bestimmung von In her,
falls In+k mit k ∈
gegeben ist. Implementieren Sie Ihren Algorithmus und
setzen Sie n = 0, k = 30. Probieren Sie als Startwerte für I30 jeweils die
1
Näherungswerte 0, 16·31
, 1 oder sogar 1010 . Wie gut stimmt das Ergebnis für
I0 mit dem exakten Wert überein?
N
Welche der beiden Rekursionen liefert die besseren Ergebnisse?
Hausaufgabe 2 : Rekursion für Integrale.
Gegeben ist die Folge bestimmter Integrale
Z 1
xn
In =
dx
0 2x + 15
mit
n∈
N0.
Für jedes feste n existiert zwar eine Formel für eine Stammfunktion des Integranden,
jedoch ist es aufwändig diese herzuleiten. Daher wollen wir die bestimmten Integrale
durch eine Rekursion berechnen.
a) Leiten Sie die Abschätzung
1
1
1
1
·
≤ In ≤
·
17 n + 1
15 n + 1
für jedes n ∈
N0 her. Insbesondere gilt damit 0 ≤ In ≤ 1.
Abgabetermin: 20.04.2016 14.00 Uhr
Programme an [email protected]
• Quellcode gut kommentieren
• Nachname = Programmname bzw. Archivname (zip/rar)
• Protokoll (Ein- und Ausgabe) und Auswertung als txt-Datei oder im Quellcode als Kommentar anfügen
Herunterladen