close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

Deutsch - IWR - Ruprecht-Karls-Universität Heidelberg

EinbettenHerunterladen
Dr. Christian Kirches
Interdisziplin¨
ares Zentrum
f¨
ur Wissenschaftliches Rechnen (IWR)
Ruprecht–Karls–Universit¨
at Heidelberg
17. Oktober 2014
Website zur Vorlesung: http://goo.gl/y9WWnx
Einfu
¨ hrung in die Numerik
WS 2014/2015
¨
1. Ubungsblatt
Aufgabe 1.1 (Taylorentwicklung) (4 Punkte)
Man gebe zum Entwicklungspunkt x = 0 die ersten drei Terme der Taylor–Entwicklungen der
folgenden Funktionen mit Restglied der Form O(xm ) mit einem m¨oglichst großen m ∈ N an:
a. f (x) =
1
,
1+x
c. f (x) = ln
b. f (x) =
x sin(x)
,
cos(x)
d. f (x) =
1+x
,
1−x
1
(1 − x)3
.
Aufgabe 1.2 (Landau–Symbole) (4 Punkte)
Man schreibe die folgenden Ausdr¨
ucke in der Form f (h) = O(hm ) bzw. f (h) = o(hm ) f¨
ur
h ∈ R+ , h → 0 , mit einem m¨oglichst großen m ∈ N:
a. f (h) = 4(h2 + h)2 − 4h4 ,
b. f (h) = sin(h),
c. f (h) =
h
,
ln(h)
d. f (h) =
sin(1 + h) − 2 sin(1) + sin(1 − h)
+ sin(1).
h2
Aufgabe 1.3 (Finite Arithmetik) (4 Punkte)
In den folgenden Rechnungen f¨
uhre man die arithmetischen Operationen ⊕, ,
und
in
y
finiter Arithmetik aus. Man nehme f¨
ur alle Zahlen die Darstellung 0.XXX · 10 an, wobei XXX
ein Platzhalter f¨
ur drei Nachkommastellen und y ∈ Z ein ganzzahliger Exponent ist. Das
Zwischenergebnis jedes elementaren Rechenschritts ist durch Rundung in diese Darstellung zu
bringen.
Beispiele: 0.9 =
ˆ 0.900 · 100 , 13.37 =
ˆ 0.134 · 102 , 15102010 =
ˆ 0.151 · 108
Man berechne und vergleiche mit den exakten Ergebnissen:
a. x2 − y 2 als (x
x)
(y
y) mit x = 1.35, y = 1.37,
b. (x + y)(x − y) als (x ⊕ y)
c. b2 − 4ac als (b
d.
b)
(4
(x
a
y) mit Werten wie in a.,
c) mit a = 1.22, b = 3.34, c = 2.28,
s(s − a)(s − b)(s − c) wobei s = (a + b + c)/2 mit a = 9.0, b = c = 4.53.
Aufgabe 1.4 (Heron–Verfahren) (4 Punkte)
Aus der Mittelstufe
kennen Sie das Heron–Verfahren zur n¨aherungsweisen Berechnung der
√
Quadratwurzel a:
a
1
xn +
, f¨
ur n ≥ 1.
xn+1 :=
2
xn
Man berechne unter Verwendung der in Aufgabe 1.3 angegebenen Arithmetik und des Startwerts x1 = 1 eine N¨aherung an die Quadratwurzel des Werts a = 3. Das Iterationsverfahren
ist abzubrechen, sobald xn+1 = xn . Man vergleiche mit der exakten L¨osung.
Abgabe: Freitag, 24.10.2014, bis 9 Uhr s.t. (Briefk¨
asten in INF 288)
Programmieraufgabe P1.1 (Darstellung von doppeltgenauen Fließkommazahlen):
Matlab und Octave kennen verschiedene Ausgabeformate f¨
ur Fließkommazahlen, darunter die
Formate long, short und eng (engineering). Weisen Sie einer Variablen einen reellen Wert
zu, und geben Sie diesen im Format hex aus:
format hex;
x = 1/3
x = 3fd5555555555555
Sie gelangen so an die maschineninterne Darstellung einer doppeltgenauen Fließkommazahl.
In dieser Ausgabe wurden die Bits in 16 Gruppen zu je vier Bits zusammengefasst. Verwenden
Sie folgende Tabelle, um die Ausgabe in eine bitweise Darstellung zu u
¨bersetzen:
0
0000
8
1000
1
0001
9
1001
2
0010
a
1010
3
0011
b
1011
4
0100
c
1100
5
0101
d
1101
6
0110
e
1110
7
0111
f
1111
Wie in der Vorlesung dargestellt verwendet das doppeltgenaue Format 64 Bits, aufgeteilt in
ein Vorzeichenbit, 11 Bits f¨
ur die Charakteristik c (f¨
ur den Exponenten gilt e = c − 1022), und
52 Mantissenbits f¨
ur m (es gilt die Normalisierung m1 = 1):
±
c10 , . . . , c0
m2 , . . . , m53
Beantworten Sie die folgenden Fragen:
• Welche Darstellung als Bitmuster hat die reelle Zahl 289, und welcher Schreibweise als
±m · b±e (m, b, e als Dezimalzahlen) entspricht dieses Bitmuster?
• Welches Bitmuster hat die reelle Zahl 0.2? Erkl¨aren Sie die von Ihnen gefundene Mantisse. Welche Zahl wird tats¨achlich gespeichert und zum Rechnen verwendet?
• Welche reelle Zahl wird durch das Bitmuster 3ff8800000000000 dargestellt?
• Probieren Sie die Zuweisung x = 1/0 aus. Welcher reellen Zahl entspricht das Bitmuster,
das Sie f¨
ur x finden? Vergleichen Sie mit dem zul¨assigen Bereich D. Haben Sie eine
Erkl¨arung f¨
ur Ihre Beobachtung?
Programmieraufgabe P1.2 (Ermittlung der Maschinengenauigkeit):
F¨
ur normalisierte Fließkommazahlen x, y ∈ A gilt, dass
|x|
· eps.
x ⊕ y = x f¨
ur |y| ≤
b
Schreiben Sie ein Matlab/Octave-Programm, welches die Maschinengenauigkeit eps experimentell ermittelt. Setzen Sie dazu x = 1 und testen Sie in einer Schleife geeignet gew¨ahlte,
immer kleiner werdende Werte f¨
ur y. Wie groß (klein) ist der von Ihrem Programm gefundene
Wert f¨
ur eps?
Abgabe: Mi./Fr., 29/31.10.2014, ab 14 Uhr (INF 350, U011/012)
Document
Kategorie
Technik
Seitenansichten
21
Dateigröße
131 KB
Tags
1/--Seiten
melden