Document

Werbung
Die reellen Zahlen
Die reellen Zahlen
im Rechner
Endliche Genauigkeit
Endliche Genauigkeit
R:
Endliche Genauigkeit
R:
ungefähr 15 signifikante Dezimalstellen
Endliche Genauigkeit
R:
ungefähr 15 signifikante Dezimalstellen
Zahl = 0.z1z2z3...z15 · 10d
(z1 > 0)
(10 + 1) − 10 = 1
(10 + 1) − 10 = 1
(100 + 1) − 100 = 1
(10 + 1) − 10 = 1
(100 + 1) − 100 = 1
(1000 + 1) − 1000 = 1
(10 + 1) − 10 = 1
(100 + 1) − 100 = 1
(1000 + 1) − 1000 = 1
......
(1014 + 1) − 1014 = 1
(10 + 1) − 10 = 1
(100 + 1) − 100 = 1
(1000 + 1) − 1000 = 1
......
(1014 + 1) − 1014 = 1
(1015 + 1) − 1015 = 1
(10 + 1) − 10 = 1
(100 + 1) − 100 = 1
(1000 + 1) − 1000 = 1
......
(1014 + 1) − 1014 = 1
(1015 + 1) − 1015 = 1
(1016 + 1) − 1016 = 0
(10 + 1) − 10 = 1
(100 + 1) − 100 = 1
(1000 + 1) − 1000 = 1
......
(1014 + 1) − 1014 = 1
(1015 + 1) − 1015 = 1
(1016 + 1) − 1016 = 0
BEISPIEL
BEISPIEL
Die pq-Formel
x2 + px + q = 0
x2 + px + q = 0
x1 = − p2 +
r
2
p
2
−q
x2 + px + q = 0
x1 = − p2 +
r
x2 = − p2 −
r
2
p
2
−q
2
−q
p
2
x1 := − p2 +
r
2
p
2
−q
x1 := − p2 +
r
2
p
2
−q
NOTATION
(inoffiziell, nur für heute)
x1 := − p2 +
r
2
p
2
−q
NOTATION
(inoffiziell, nur für heute)
x1 : eine Zahl, größte Nullstelle des Polynoms
x1 := − p2 +
r
2
p
2
−q
NOTATION
(inoffiziell, nur für heute)
x1 : eine Zahl, größte Nullstelle des Polynoms
{x1} : die Darstellung dieser Zahl im Rechner
x1 := − p2 +
r
2
p
2
−q
NOTATION
(inoffiziell, nur für heute)
x1 : eine Zahl, größte Nullstelle des Polynoms
{x1} : die Darstellung dieser Zahl im Rechner
− p2 −
r
2
p
2
− q : eine Rechenvorschrift
x1 := − p2 +
r
2
p
2
−q
NOTATION
(inoffiziell, nur für heute)
x1 : eine Zahl, größte Nullstelle des Polynoms
{x1} : die Darstellung dieser Zahl im Rechner
− p2 −
− p2 −
r
2
p
2
r
2
p
2 − q : eine Rechenvorschrift
−q
: Rechnerdarstellung des Ergebnisses
A=B
A=B
6=⇒
{A} = {B}
KONKRETES
BEISPIEL
x2 − 1 234 567 x + 1 = 0
x2 − 1 234 567 x + 1 = 0
x∗1 =
− p2 +
r
2
p
2
−q
≈ 1 234 566 . 999 999 19
x2 − 1 234 567 x + 1 = 0
x∗1 =
− p2 +
r
2
p
2
−q
≈ 1 234 566 . 999 999 19
(15-stellig)
x2 − 1 234 567 x + 1 = 0
x∗1 =
− p2 +
r
2
p
2
−q
≈ 1 234 566 . 999 999 19
(15-stellig)
x∗2 =
− p2 −
r
2
p
2
− q ≈ 8 . 100 178 092 718 12 · 10−7
PROBE
PROBE
p(x) := x2 − 1 234 567 x + 1
PROBE
p(x) := x2 − 1 234 567 x + 1
|p(x∗1)| < 10−15
PROBE
p(x) := x2 − 1 234 567 x + 1
|p(x∗1)| < 10−15
p(x∗2) ≈ −2.1 · 10−5
PROBE
p(x) := x2 − 1 234 567 x + 1
|p(x∗1)| < 10−15
p(x∗2) ≈ −2.1 · 10−5
????
PROBE
p(x) := x2 − 1 234 567 x + 1
|p(x∗1)| < 10−15
p(x∗2) ≈ −2.1 · 10−5
????
x∗2 6= {x2}
PROBE
p(x) := x2 − 1 234 567 x + 1
|p(x∗1)| < 10−15
p(x∗2) ≈ −2.1 · 10−5
????
x∗2 6= {x2}
{x2} = ?
richtige Formel
richtige Formel
falsches“ Ergebnis.
”
richtige Formel
falsches“ Ergebnis.
”
1. Woher kommt das?
richtige Formel
falsches“ Ergebnis.
”
1. Woher kommt das?
2. Was kann man dagegen tun?
x2 + px + q = 0
x2 + px + q = 0
x2 + px + q = (x − x1)(x − x2)
x2 + px + q = 0
x2 + px + q = (x − x1)(x − x2)
q = x1 x2
x2 + px + q = 0
x2 + px + q = (x − x1)(x − x2)
q = x1 x2
x2 = q/x1
p(x) = x2 − 1 234 567 x + 1
p(x) = x2 − 1 234 567 x + 1
x∗1 =
− p2 +
r
2
p
2
−q
p(x) = x2 − 1 234 567 x + 1
x∗1 =
− p2 +
r
2
p
2
−q
|p(x∗1)| < 10−15
p(x) = x2 − 1 234 567 x + 1
x∗1 =
− p2 +
r
2
p
2
−q
|p(x∗1)| < 10−15
∗}
=
{q/x
x∗∗
1
2
p(x) = x2 − 1 234 567 x + 1
x∗1 =
− p2 +
r
2
p
2
−q
|p(x∗1)| < 10−15
∗}
=
{q/x
x∗∗
1
2
−15
)|
<
10
|p(x∗∗
2
x∗2 =
− p2 −
r
2
p
2
− q ≈ 8 . 100 178 092 718 12 · 10−7
x∗2 =
− p2 −
r
2
p
2
− q ≈ 8 . 100 178 092 718 12 · 10−7
−7
≈
8
.
100
005
913
009
63
·
10
x∗∗
2
x∗2 =
− p2 −
r
2
p
2
− q ≈ 8 . 100 178 092 718 12 · 10−7
−7
≈
8
.
100
005
913
009
63
·
10
x∗∗
2
x∗2 =
− p2 −
r
2
p
2
− q ≈ 8 . 100 178 092 718 12 · 10−7
−7
≈
8
.
100
005
913
009
63
·
10
x∗∗
2
11 Dezimalstellen falsch
x∗2 =
− p2 −
r
2
p
2
− q ≈ 8 . 100 178 092 718 12 · 10−7
−7
≈
8
.
100
005
913
009
63
·
10
x∗∗
2
11 Dezimalstellen falsch
Warum?
x∗2 =
− p2 −
r
2
p
2
−q
x∗2 =
− p2 −
r
2
p
2
−q
p = −1 234 567
x∗2 =
− p2 −
r
2
p
2
−q
p = −1 234 567
− p2 = 617 283 . 500 000 000 000 000 000 000
x∗2 =
− p2 −
r
2
p
2
−q
p = −1 234 567
− p2 = 617 283 . 500 000 000 000 000 000 000
2
p
2 − q ≈ 617 283 . 499 999 190 xxx xxx xxx xxx
r
x∗2 =
− p2 −
r
2
p
2
−q
p = −1 234 567
− p2 = 617 283 . 500 000 000 000 000 000 000
2
p
2 − q ≈ 617 283 . 499 999 190 xxx xxx xxx xxx
r
x∗2 = 0 . 000 000 810 xxx xxx xxx xxx
x∗2 =
− p2 −
r
2
p
2
−q
p = −1 234 567
− p2 = 617 283 . 500 000 000 000 000 000 000
2
p
2 − q ≈ 617 283 . 499 999 190 xxx xxx xxx xxx
r
x∗2 = 0 . 000 000 810 xxx xxx xxx xxx
x∗2 = 8.10 xxx xxx xxx xxx · 10−7
Auslöschung
Auslöschung
x∗2 = a − b
Auslöschung
x∗2 = a − b
a und b haben beide 15 (garantiert) richtige Dezimalstellen
Auslöschung
x∗2 = a − b
a und b haben beide 15 (garantiert) richtige Dezimalstellen
Die ersten 12 Dezimalstellen in a und b sind identisch.
(Festkomma Darstellung)
Auslöschung
x∗2 = a − b
a und b haben beide 15 (garantiert) richtige Dezimalstellen
Die ersten 12 Dezimalstellen in a und b sind identisch.
(Festkomma Darstellung)
a − b hat nur 3 (garantiert) richtige Dezimalstellen.
BOTSCHAFT
BOTSCHAFT
Wahrheit ist nicht genug.
BOTSCHAFT
Wahrheit ist nicht genug.
Eine matematische Formel
kann
mathematisch gesund
BOTSCHAFT
Wahrheit ist nicht genug.
Eine matematische Formel
kann
mathematisch gesund
aber
numerisch krank
sein.
GEBOT
GEBOT
Du sollst keine
fast gleichen Größen
voneinander abziehen.
BEISPIEL
BEISPIEL
√
√
1
x+1− x= √
√
x+1+ x
BEISPIEL
√
√
1
x+1− x= √
√
x+1+ x
√
√
f(x) := { x + 1 − x }
g(x) :=
1
√
√
x+1+ x
Durch Auslöschung
wird f zunehmend ungenau für großes x,
g nicht.
E-AUFGABE 13
E-AUFGABE 13
Sei r der relative Fehler von f:
|f(x) − g(x)|
.
r(x) :=
g(x)
E-AUFGABE 13
Sei r der relative Fehler von f:
|f(x) − g(x)|
.
r(x) :=
g(x)
Wie hängt r von x ab, wenn x groß wird
E-AUFGABE 13
Sei r der relative Fehler von f:
|f(x) − g(x)|
.
r(x) :=
g(x)
Wie hängt r von x ab, wenn x groß wird
(aber nicht zu groß)?
E-AUFGABE 13
Sei r der relative Fehler von f:
|f(x) − g(x)|
.
r(x) :=
g(x)
Wie hängt r von x ab, wenn x groß wird
(aber nicht zu groß)?
(Hinweis. Man trage log10r(x) gegen log10x auf.
Programm: EA13.r
Abgabetermin: Donnerstag, 08.02.07
Lösungen an [email protected]
ENDE
Herunterladen