<<

. 4
( 31 .)



>>

2
Abbildung 2.1: Beispiel zur Verteilung der Maschinenzahlen auf dem Computer.


2.3 Rundung
De¬nition 2.10 (Rundung). Eine korrekte Rundung ist die Abbildung
rd : IR ’ IM,
die jedem r ∈ IR das n¨chstgelegene x ∈ IM zuordnet:
a
|rd(r) ’ r| ¤ |x ’ r| ∀x ∈ IM.
Bemerkung 2.11. Die De¬nition ist bis auf Ausnahmen eindeutig; dort muß
eine Zusatzbedingung zur eindeutigen Behandlung eines Umschlagpunktes x an-
¯
gegeben werden.
Ausfuhrung der korrekten Rundung:
¨
Bei der technischen √
Realisierung der korrekten Rundung muß r nicht exakt be-
kannt sein, z.B. r = 2, π. O¬enbar reicht es, die (l + 1)ste Mantisse zu kennen:1
±.d1 d2 . . . dl dl+1 . . . pE
r = (normalisiert)
±
 .d1 d2 . . . dl’1 dl falls 0 ¤ dl+1 < p/2


.d1 d2 . . . dl’1 (dl + 1) falls p/2 ¤ dl+1 , (Aufrunden in x)
r :=
 ←’←’···←’←’

 (evtl. Ubertrag)
¨

1
Eine Realisierung der korrekten Rundung l¨ßt sich jedoch erst mit zwei Schutzzi¬ern rea-
a
lisieren.
Fehleranalyse 21




rd(r) := sign(r) · r · pE

Beispiel 2.12. l = 4, p = 10

rd(0.142842102 ) = 0.1428102
rd(0.14285100 ) = 0.1429100
rd(0.1499710’1 ) = 0.150010’1

Schranken fur den absoluten und den relativen Fehler:
¨
Sei r = ±.d1 d2 . . . dl dl+1 . . . pE (d1 = 0).

a 1
|rd(r) ’ r| ¤ pE = pE’l (a = p’l )
(2.1) absoluter Fehler
2 2
|rd(r) ’ r| p
¤ p’l
(2.2) relativer Fehler
|r| 2

|r| ≥ 0.1pE
Wir erhalten

Satz 2.13. Fur alle r ∈ IR © ([’xmax , ’xmin ] ∪ [xmin , xmax ]) gibt es ein µ ∈ IR,
¨
|µ| ¤ eps,
p
eps := p’l ,
(2.3) (relative Maschinengenauigkeit),
2
so dass

(2.4) rd(r) = r(1 + µ)

gilt.

Es gibt einige Besonderheiten zu berucksichtigen:
¨

a 2 + b2
• Zwischenresultate k¨nnen IM verlassen: z. B. bei c =
o

• Exponentenunterlauf: Fur r ≈ 0, d.h. r ∈] ’ xmin , xmin [ gilt:
¨

rd(r) := 0.

Fur r ∈] ’ xmin , xmin [\{0} gilt: Der relative Fehler ist stets 1, w¨hrend der
a
¨
absolute Fehler klein, n¨mlich < xmin ist. In diesem Fall sollte eine Warnung
a
”under¬‚ow“ gesetzt werden; eventuell k¨nnen massive Probleme auftreten,
o
1
z.B. bei c = r .
22 Fehleranalyse




• Exponentenuberlauf: Fur |r| > xmax gilt:
¨ ¨

rd(r) := sign(r) · xmax ,

gleichzeitig sollte eine Warnung ”exponential over¬‚ow“ gesetzt werden; even-
tuell k¨nnen auch hier massive Probleme auftreten, z.B. bei c = r2 , r ’ ∞.
o
Hier ist der relative Fehler durch 1 beschr¨nkt, w¨hrend der absolute Fehler
a a
beliebig groß werden kann.
Bemerkung 2.14. Die Fehlerschranken (2.1) und (2.2) gelten nur solang kein
Exponentenunter- bzw. uberlauf vorkommt.
¨
Bemerkung 2.15. Es gibt verschiedene Vereinbarungen an Umschlagpunkte, wie
z.B Aufrunden, Abrunden oder Abschneiden. Stets muß die Rundungsvorschrift
jedoch eine idempotente (c ∈ IM, ’ rd(c) = c) und monotone (c1 ¤ c2 ’
rd(c1 ) ¤ rd(c2 )) Abbildung sein.
Sondercodierungen: Fur 0, +∞, ’∞, ∞, NAN (Not-A-Number;) hat man oft Son-
¨
1
dercodierungen mit speziellen Rechenregeln, z. B.: x = 0, x = N AN ; ∞ ’ ∞ =
N AN ; . . .
Beispiel 2.16. Wir wollen nachfolgend die Rekursionsformel aus Beispiel 1.2
genauer untersuchen:
1 6
In + 5In’1 = , I0 = ln ∈ IM
/
n 5
Auswirkungen des Eingabefehlers in I0 :
ˆ
I0 = I0 + ∆I0

1 1
ˆ ˆ
’ In + ∆In = In = ’ 5In’1 = ’ 5(In’1 + ∆In’1 ) = In ’ 5∆In’1
n n

∆In = ’5∆In’1 = (’5)2 ∆In’2 = . . . = (’5)n ∆I0


Ist beispielsweise ∆I0 = 10’10 , dann ist bereits ∆I15 = (’5)15 10’10 ≈ ’3.05 . . .
Hierbei ist (’5)i oszillierend und stark anwachsend.
Umgekehrt tritt bei der Ruckw¨rtsrekursion Fehlerd¨mpfung auf:
a a
¨
1
∆I0 = ∆In
(’5)n
Mit beispielsweise ∆I15 = 1 folgt

’ ∆I0 = ’3.27 . . . · 10’11 .
Fehleranalyse 23




2.4 Gleitpunkt-Arithmetik
Sind x, y ∈ IM, so braucht x · y mit · ∈ {+, ’, —, /} nicht aus IM zu sein.

Beispiel 2.17. IM(10, 5, 2), mit x = .25684101 , und y = .3279110’2 :

x + y = .25716791101 

∈ IM
/
x — y = .84220404410’2


x/y = .7832637004 . . .103

Gleitpunkt-Operationen •, , —, :
Die korrekte Rundung lautet

x y := rd(x · y), · ∈ {+, ’, —, /},

wobei wegen (2.4) gilt:

x • y = (x + y)(1 + ±)
x y = (x ’ y)(1 + β)
x — y = (x — y)(1 + γ)
x y = (x/y)(1 + δ)

mit |±|, |β|, |γ|, |δ| ¤ eps (Maschinengenauigkeit).

Bemerkung 2.18. Es ist anzumerken, dass ±, β, γ, δ von x und y abh¨ngen, a
nicht jedoch von ihrer Schranke (eps ist a priori bekannt). ±, β, γ, δ sind die
relativen Fehler der Gleitpunkt-Operationen.

Bemerkung 2.19. Nur die Kommutativit¨t der Addition und der Multiplikation
a
bleiben auch bei der Gleitpunkt-Arithmetik erhalten. Assoziativ- und Distributiv-
gesetze gelten nicht mehr!

Beispiel 2.20. IM(10, 8, 2), a = .2337125810’4 , b = .33678429102 , c = ’.33677811102 .

a • (b • c) = a • .6180000010’3 = .6413712610’3
(a • b) • c = .33678452102 • c = .6410000010’3
a+b+c= = .64137125810’3

Bemerkung 2.21. Die korrekt rundende Gleitpunkt-Arithmetik kann technisch
realisiert werden, wenn das Rechenwerk uber mindestens zwei Stellen mehr verfugt
¨ ¨
als die Mantissenl¨nge l. Es gibt jedoch nur wenige Anlagen, die korrekt runden!
a
˜
˜




(2.5)
2.5




˜

¨
˜
˜
xi
Fehlertypen




x
xi ’xi
˜x




˜
24 Fehleranalyse




ximation f (˜), mit




yi = fi (x +
¨




a
a
Problem der Berechnung




a




a
¨

<<

. 4
( 31 .)



>>