Numerische Mathematik I
(01270)
Kurseinheit 1
Lösungsvorschläge zu den Einsendeaufgaben
FAKULTÄT FÜR
MATHEMATIK UND INFORMATIK
Lehrgebiet Numerische Mathematik
Prof. Dr. T. Linß, 2023
Lösungsvorschlag 1
(2+3+2+3+3+3=16 Punkte)
In einem Programm ist, beispielsweise durch eine Subroutine, das Integral In für n ≥ 0 zu
berechnen. Naheliegend ist es, die Berechnung rekursiv mittels einer Rekursion auf das Integral
I0 zurückzuführen (b). Allerdings ist dieser Algorithmus nicht stabil, da kleine Fehler bei der
Berechnung von I0 verstärkt werden (c),(d). Ein Ausweg ist, die Berechnung von In auf ein IN
mit N > n zurückzuführen und für IN eine Näherung zu verwenden. Dies ist möglich, da bei
dieser Rechnung Fehler in IN stark gedämpft werden (e),(f).
(a) Man schätzt leicht ab
Z 1
1
xn
dx ≤
x+a
a
Z 1
1
,
(n + 1) a
0
0
1
1
da
≤ für 0 ≤ x ≤ 1 und
x+a a
Z 1
Z 1 n
1
1
x
dx ≥
,
xn dx =
In =
a+1 0
(n + 1) (a + 1)
0 x+a
1
1
da
≥
für 0 ≤ x ≤ 1 .
x+a 1+a
In =
xn dx =
Außerdem ist
In − In+1 =
Z 1
0
xn − xn+1
dx =
x+a
Z 1
0
xn
(1 − x) dx > 0 ,
x+a
weil der Integrand auf (0, 1) offenbar positiv ist.
(b) Berechne zunächst I0 mit Hilfe der Substitution u B x + a direkt:
I0 =
Z 1
0
1
dx =
x+a
Z 1+a
a
1
1+a
du = ln(1 + a) − ln a = ln
.
u
a
Die Rekursionsformel folgt induktiv wegen der Identität
Z 1 n
Z 1
Z 1
x + axn−1
(x + a)xn−1
1
In + a In−1 =
dx =
dx =
xn−1 dx = .
x+a
x+a
n
0
0
0
© 2023 FernUniversität in Hagen
Alle Rechte vorbehalten
Lösungsvorschläge zu den Einsendeaufgaben
NMI
L 1/2
(c) Das folgende kleine Python-Programm gibt die berechneten Integralberechnungen zwischen den
Schranken aus:
1
from math import log
2
def II(n):
if n <=0:
5
return log((a+1)/a)
6
else:
7
return 1/n - a * II(n-1)
3
4
8
9
10
mm = lambda n: 1/((n+1)*(a+1))
MM = lambda n: 1/((n+1)*a)
11
a = 10
13 for i in range(21):
14
print("{:2d}␣|␣{:␣.3e}␣<␣{:␣.3e}␣<␣{:␣.3e}".format(i, mm(i), II(i), MM(i)))
12
n
1
(n+1) a
In
1
(n+1)(a+1)
n
1
(n+1) a
In
1
(n+1)(a+1)
0
1
2
3
4
5
6
7
8
9
10
9.091e-02
4.545e-02
3.030e-02
2.273e-02
1.818e-02
1.515e-02
1.299e-02
1.136e-02
1.010e-02
9.091e-03
8.264e-03
9.531e-02
4.690e-02
3.102e-02
2.315e-02
1.846e-02
1.535e-02
1.314e-02
1.148e-02
1.019e-02
9.167e-03
8.329e-03
1.000e-01
5.000e-02
3.333e-02
2.500e-02
2.000e-02
1.667e-02
1.429e-02
1.250e-02
1.111e-02
1.000e-02
9.091e-03
11
12
13
14
15
16
17
18
19
20
21
7.576e-03
6.993e-03
6.494e-03
6.061e-03
5.682e-03
5.348e-03
5.051e-03
4.785e-03
4.545e-03
4.329e-03
4.132e-03
7.622e-03
7.114e-03
5.785e-03
1.358e-02
-6.912e-02
7.537e-01
-7.478e+00
7.484e+01
-7.483e+02
7.483e+03
-7.483e+04
8.333e-03
7.692e-03
7.143e-03
6.667e-03
6.250e-03
5.882e-03
5.556e-03
5.263e-03
5.000e-03
4.762e-03
4.545e-03
(d) Ist I˜0 B I0 + ∆I0 der gestörte Startwert, so ist ∆I0 = I˜0 − I0 der Fehler in I0 . Unter Anwendung
der Rekursionsvorschriften gilt dann für den Fehler in In
1
1
I˜n − In = ( − a I˜n−1 ) − ( − a In−1 ) = −a (I˜n−1 − In−1 ) = · · · = (−a)n (I˜0 − I0 ) = (−a)n ∆I0 .
n
n
Der Eingangsfehler verstärkt sich also in jedem Iterationsschritt um einen Faktor vom Betrag a
(wobei a > 1 gemäß Annahme).
1
−I˜
(e) Die Gleichung I˜n−1 = n a n erhält man sofort aus der Rekursionsvorschrift aus (b). Dann gilt für
den Fehler in In , n = N, N − 1, . . . , 0:
!N−n 1
1
( n+1
− I˜n+1 ) − ( n+1
− In+1 )
1
1
I˜n − In =
= − I˜n+1 − In+1 = −
I˜N − IN .
a
a
a
© 2023 FernUniversität in Hagen
Alle Rechte vorbehalten
Lösungsvorschläge zu den Einsendeaufgaben
NMI
L 1/3
(f) Zunächst gilt gemäß (a) die Abschätzung
I˜N ∗ B
1
1
∗ ≥
≥
I
.
N
(N ∗ + 1) a
(N ∗ + 1) (a + 1)
Unter Heranziehung der Erkenntnisse aus (e) muss für ein gesuchtes N ∗ gelten
0 ≤ I˜N ∗ − IN ∗ ≤
1
(N ∗ + 1) a
−
1
(N ∗ + 1) (a + 1)
=
1
(N ∗ + 1) a (a + 1)
.
Es ist ebenfalls bekannt, dass der Fehler mit jedem Iterationsschritt betragsweise kleiner wird.
Es folgt für gegebenes n∗ ∈ N, n∗ ≤ N ∗
∗ ∗
∆In∗ = I˜n∗ − In∗ ≤ (−1)N −n
1
a
N ∗−n∗
(I˜N ∗ − IN ∗ ) ≤
1
a
N ∗−n∗ +1
1
.
(N ∗ + 1) (a + 1)
Um eine gegebene Fehlerschranke zu erfüllen, muss der letzte Term also über den Parameter N ∗
kontrolliert werden.
Sei nun konkret im Fall a = 10 für n∗ = 20 die Fehlerschranke ∆In ≤ ∆In∗ < 10−10 gefordert:
∆I20 ≤
⇒
N∗ >
1
1
10N ∗−19 11 N ∗ + 11
!
< 10−10
∗
1010
1029−N − 11
.
−
1
=
11 · 10N ∗−19
11
„Educated guessing“ liefert als gesuchten Parameter N ∗ = 27, denn dann ist 27 > 100−11
, an11
1000−11
dererseits wäre 26 ≯ 11 .
Ein leicht modifiziertes Python-Programm zeigt, dass beispielsweise für a = 10 ausgehend von
I˜27 = 1/280 dieselben 21 Integrale wie aus (c) berechnet werden, ohne dass die berechneten
Werte die theoretischen Schranken durchbrechen.
def IR (N, n):
2
if n >= N-1:
3
return 1/((N+1)*(a+1))
4
else:
5
return (1/(n+1) - IR(N, n+1))/a
1
6
7
8
mm = lambda n: 1/((n+1)*(a+1))
MM = lambda n: 1/((n+1)*a)
9
a = 10
# use reverse sequence of integers from "(-1,21]"
12 for i in range(21, -1, -1):
13
print("{:2d}␣|␣{:␣.11e}␣<␣{:␣.11e}␣<␣{:␣.11e}" \
14
.format(i, mm(i), IR(27,i), MM(i)))
10
11
© 2023 FernUniversität in Hagen
Alle Rechte vorbehalten
Lösungsvorschläge zu den Einsendeaufgaben
NMI
L 1/4
n
1
(n+1) a
In
1
(n+1)(a+1)
n
1
(n+1) a
In
1
(n+1)(a+1)
21
20
19
18
17
16
15
14
13
12
11
4.132e-03
4.329e-03
4.545e-03
4.785e-03
5.051e-03
5.348e-03
5.682e-03
6.061e-03
6.494e-03
6.993e-03
7.576e-03
4.149e-03
4.347e-03
4.565e-03
4.807e-03
5.075e-03
5.375e-03
5.713e-03
6.095e-03
6.533e-03
7.039e-03
7.629e-03
4.545e-03
4.762e-03
5.000e-03
5.263e-03
5.556e-03
5.882e-03
6.250e-03
6.667e-03
7.143e-03
7.692e-03
8.333e-03
10
9
8
7
6
5
4
3
2
1
0
8.264e-03
9.091e-03
1.010e-02
1.136e-02
1.299e-02
1.515e-02
1.818e-02
2.273e-02
3.030e-02
4.545e-02
9.091e-02
8.328e-03
9.167e-03
1.019e-02
1.148e-02
1.314e-02
1.535e-02
1.846e-02
2.315e-02
3.102e-02
4.690e-02
9.531e-02
9.091e-03
1.000e-02
1.111e-02
1.250e-02
1.429e-02
1.667e-02
2.000e-02
2.500e-02
3.333e-02
5.000e-02
1.000e-01
Lösungsvorschlag 2
(2+2+2=6 Punkte)
(a) Die Menge M10 (4, [−2, 2]) umfasst bekanntlich nur normalisierte Gleitkommadarstellungen, die
Menge M̊10 (4, [−2, 2]) zusätzlich subnormale.
(i)
[0.1337]10 · 103 < M̊10 (4, [−2, 2]) ⊃ M10 (4, [−2, 2]) – overflow,
[0.1]10 · 10−3 = [0.0100]10 · 10−2 ∈ M̊10 (4, [−2, 2]) \ M10 (4, [−2, 2]) – gradual underflow;
diese Zahl ist in Hinblick auf die angegebenen Mengen nur subnormal darstellbar.
(ii)
(b) (i)
(ii)
16/27 = 1/3 + 2/9 + 1/27, also 16/27 = [0.121]3 ,
Verwende Division mit Rest:
0.3 · 3 = 0.9
0.9 · 3 = 2.7
0.7 · 3 = 2.1
0.1 · 3 = 0.3
.
0.3 · 3 = ..
{
{
{
{
{
0
2
2
0
..
. .
Also 0.3 = [0.0220]3 .
(c) Wegen b = 3 sind die in der Darstellung möglichen Ziffern gerade 0, 1 und 2. Bei den normal-
isierte Gleitkommazahlen muss die erste Nachkommastelle der Mantisse von 0 verschieden sein.
Zudem hat die Mantisse jeweils 2 Nachkommastellen.
(i)
In untenstehender Tabelle erhalten wir also die erste Spalte aller vorkommenden Mantissen. Die erste Nachkommastelle hat dabei den Wert 13 und die zweite den Wert 19 . Für eine
Mantisse [0.α1 α2 ]3 errechnet sich so in der zweiten Spalte ein Wert von α31 + α92 .
Für die vorkommenden Exponenten e ∈ {−1, 0} müssen alle Mantissen noch mit 3e multipliziert
werden. Diese Ergebnisse stehen in der dritten und vierten Spalte.
© 2023 FernUniversität in Hagen
Alle Rechte vorbehalten
Lösungsvorschläge zu den Einsendeaufgaben
NMI
L 1/5
Sämtliche in der Tabelle aufgeführten Zahlen kommen zudem mit negativem Vorzeichen vor.
Zusätzlich ist noch die 0 darstellbar.
m
x = α31 + α92
x · 3−1
x · 30 = x
0.10
0.11
0.12
0.20
0.21
0.22
1
3
1
+ 19 = 49
3
1
+ 29 = 59
3
2
3
2
+ 19 = 79
3
2
+ 29 = 89
3
1
9
4
27
5
27
2
9
7
27
8
27
1
3
4
9
5
9
2
3
7
9
8
9
normalisierte Gleitkommazahlen
(ii)
Die zusätzlichen subnormalen Gleitkommazahlen sind dadurch gekennzeichnet, dass die
erste Mantissenstelle 0 ist, und der Exponent e den kleinstmöglichen Wert e∗ annimmt, hier also
e = −1.
m
0.01
0.02
x = 03 + α92
1
9
2
9
x · 3−1
1
27
2
27
subnormale Gleitkommazahlen
Lösungsvorschlag 3
(4 Punkte)
Es seien x, y ∈ Mb (m, [e∗ , e∗ ]) Gleitkommazahlen, eps die Maschinengenauigkeit.
(a) Für z1 gilt
z1 = (x ⊗ x) ⊖ (y ⊗ y) = x2 (1 + ε1 ) ⊖ y2 (1 + ε2 ) = x2 (1 + ε1 ) − y2 (1 + ε2 ) (1 + ε3 )
= x2 − y2 + x2 (ε1 + ε3 + ε1 ε3 ) − y2 (ε2 + ε3 + ε2 ε3 ) ,
wobei |εi | ≤ eps, i = 1, 2, 3. Für den relativen Fehler gilt daher in linearer Näherung
z1 − z x2 (ε1 + ε3 + ε1 ε3 ) − y2 (ε2 + ε3 + ε2 ε3 )
x2
y2
(ε
)
(ε2 + ε3 )
=
≑
+
ε
−
1
3
z
x 2 − y2
x2 − y2
x2 − y2
(b) Für z2 erhalten wir dagegen
z2 = (x ⊖ y) ⊗ (x ⊕ y) = ((x − y) (1 + ε1 )) ⊗ ((x + y) (1 + ε2 ))
= (x − y)(x + y)(1 + ε1 )(1 + ε2 )(1 + ε3 ) mit |εi | ≤ eps .
© 2023 FernUniversität in Hagen
Alle Rechte vorbehalten
Lösungsvorschläge zu den Einsendeaufgaben
NMI
L 1/6
Für den relativen Fehler gilt in linearer Näherung
(1 + ε1 )(1 + ε2 )(1 + ε3 ) − 1 · (x − y)(x + y)
z2 − z
=
≑ ε1 + ε2 + ε3 .
z
x2 − y2
Der relative Fehler von z2 ist also stets klein, hingegen kann der von z1 groß sein, wenn
x2 − y2 ≪ x2 + y2 ist, z.B. falls x ≈ y.
Lösungsvorschlag 4
(7 Punkte)
Seien x ∈ (a, b) beliebig und h > 0 hinreichend klein, so dass x ± h ∈ [a, b]. Nach Taylor existieren ein ξ− ∈ [x − h, x] und ein ξ+ ∈ [x, x + h] mit
f (x − h) = f (x) − h f ′ (x) +
h2 ′′
h3
h4 (4) −
f (x) − f ′′′ (x) +
f (ξ )
2
6
24
f (x + h) = f (x) + h f ′ (x) +
h2 ′′
h3
h4 (4) +
f (x) + f ′′′ (x) +
f (ξ ).
2
6
24
und
Es folgt
h2 (4) +
δ2h f (x) − f ′′ (x) =
f (ξ ) + f (4) (ξ− )
24
Setze M B 121 max f (4) (ξ) . Wir erhalten für den Approximationsfehler
ξ∈[a,b]
δ2h f (x) − f ′′ (x) ≤ Mh2 .
Zur Analyse des Rundungsfehlereinflusses verfahren wir wie bei der Herleitung von (1.8) :
f ′′ (x) −
ε1 f (x + h) − 2ε2 f (x) + ε3 f (x − h)
f◦ (x + h) − 2 f◦ (x) + f◦ (x − h)
= f ′ (x) − δ∗h f (x) −
.
2
h
h2
Es folgt die Abschätzung
f ′′ (x) −
f◦ (x + h) − 2 f◦ (x) + f◦ (x − h)
4eps
≤ Mh2 + 2 K f max | f (x)| .
2
x∈[a,b]
h
h
Eine gute Wahl von h ergibt sich wieder, wenn beide Fehlerterme die gleiche Größe besitzen,
d.h.
h2 ≈
eps
h2
⇐⇒
h∗ ≈ eps1/4 .
Das zugehörige Fehlerniveau bei der Approximation der ersten Ableitung ist eps1/2 .
© 2023 FernUniversität in Hagen
Alle Rechte vorbehalten
Lösungsvorschläge zu den Einsendeaufgaben
Lösungsvorschlag 5
NMI
L 1/7
(4+4+4=12 Punkte)
Sei also f (x) B 1 − cos2 x. Bekanntlich gilt die Identität sin2 x + cos2 x = 1.
(a) Die Konditionszahl des Problems, z = f (x) zu berechnen, ist
κ f (x) B
x ′
x
2x cos x
(2 cos x sin x) =
f (x) =
.
2
f (x)
1 − cos x
sin x
Unter Verwendung der Regel von L’Hôpital folgt für x → 0
2x cos x
2 cos x − 2x sin x
= lim
=2
x→0 sin x
x→0
cos x
lim κ f (x) = lim
x→0
Das Problem ist also für betragskleine x gut konditioniert.
(b) Zum Algorithmus
y1 B cos x ,
y2 B y21 ,
z B 1 − y2
gehören folgende Restabbildungen:
z = R2 (x, y1 , y2 ) = 1 − y2 ,
= R1 (x, y1 )
= 1 − y21 .
Es berechnen sich daraus die Konditionszahlen des Algorithmus:
∂R1 (x, y1 ) cos x
cos2 x
y1
x→0
(−2
=
cos
x)
=
−2
= −2 cot2 x −→ −∞ ,
2
2
R1 (x, y1 ) ∂y1
sin x
sin x
2
∂R2 (x, y1 , y2 ) cos x
y2
x→0
=
κ2 (y2 ) =
(−1) = − cot2 x −→ −∞ .
2
R2 (x, y1 , y2 )
∂y2
sin x
κ1 (y1 ) =
Die Beträge der Konditionszahlen des Algorithmus sind sehr groß – wesentlich größer als die
des Problems; der Algorithmus ist somit numerisch instabil.
(c) Es gilt z = 1 − cos2 x = sin2 x C z̃, was man mit dem folgenden Algorithmus berechnen kann:
ỹ1 B sin x ,
z̃ B ỹ21 .
Die Restabbildung dazu ist z̃ = R̃1 (x, ỹ1 ) = ỹ21 mit der Konditionszahl
κ̃1 (ỹ1 ) =
∂R̃1 (x, ỹ1 )
ỹ1
sin x
(2 sin x) = 2 .
=
∂ỹ1
R̃1 (x, ỹ1 )
sin2 x
Die Konditionszahlen des alternativen Algorithmus ist also klein – gar gerade so klein wie jene
des Problems. Der Algorithmus ist somit numerisch stabil.
© 2023 FernUniversität in Hagen
Alle Rechte vorbehalten
Lösungsvorschläge zu den Einsendeaufgaben
Lösungsvorschlag 6
NMI
L 1/8
(5 Punkte)
Es gilt unter Anwendung der (verallgemeinerten) Kettenregel
x ′
f (x)
f (x)
′ x
f1′ ( f2 ◦ . . . ◦ fk (x)) · f2 ◦ . . . ◦ fk (x)
=
f1 ◦ . . . ◦ fk (x)
′
f2 ◦ . . . ◦ fk (x)
x
=
f1′ ( f2 ◦ . . . ◦ fk (x))
· f2 ◦ . . . ◦ fk (x)
f1 ( f2 ◦ . . . ◦ fk (x))
f2 ◦ . . . ◦ fk (x)
′ x
′
f2 ( f3 ◦ . . . ◦ fk (x)) · f3 ◦ . . . ◦ fk (x)
= κ f1 ( f2 ◦ . . . ◦ fk (x)) ·
f2 ◦ . . . ◦ fk (x)
= · · · = κ f1 ( f2 ◦ . . . ◦ fk (x)) · κ f2 ( f3 ◦ . . . ◦ fk (x)) · . . . · κ fk−1 ( fk (x)) · κ fk (x) .
κ f (x) =
© 2023 FernUniversität in Hagen
Alle Rechte vorbehalten
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )