Einführung in die Numerische
Mathematik
Lösungsvorschlag
Prof. Dr. Jan Giesselmann
Teresa Kunkel [Link].
WiSe 2024/25
17./18. Oktober 2024
Übungsblatt 1
Gruppenübungen
Aufgabe G 1.1: Rechnen mit Gleitkommazahlen
Berechnen Sie für x = 1/3 folgende Ausdrücke jeweils exakt und in Gleitpunktarithmetik in M(10, 3):
(a) y = 1 − x,
(b) y = (1 − x2 )/(x + 1).
Wie groß sind die relativen und absoluten Fehler?
Lösungsvorschlag:
Exakt:
1 2
1− = ,
3 3
1
1− 9 2
4 = .
3
3
Gleitpunktarithmetik:
1
rd 1 − rd = rd(1 − 0.333) = 0.667,
3
rd 1 − rd rd( 13 )rd( 13 )
rd 1 − 0.111
0.889
rd = rd = rd = 0.668.
rd rd 13 + 1
rd 0.333 + 1 1.33
Relative und absolute Fehler sind
(a) 2 (a) | 32 − 0.667|
eabs = − 0.667 ≈ 3.33 · 10−4 , erel = ≈ 5 · 10−4 ,
3 | 32 |
(b) 2 (b) | 23 − 0.668|
eabs = − 0.668 ≈ 1.3 · 10−3 , erel = ≈ 2 · 10−3 .
3 | 32 |
1
Aufgabe G 1.2: Kondition
Bestimmen Sie
(a) die absolute Konditionszahl von φ1 (x) = xa , a ∈ R\{0}.
cos(x)
(b) die relative Konditionszahl von φ2 (x) = x .
Für welche Werte von x und a sind die Probleme gut bzw. schlecht konditioniert?
Lösungsvorschlag:
(a) Es gilt
1
κφ ′
abs = |φ1 (x)| =
1
.
a
Damit ist die Funktionsauswertung schlecht konditioniert, wenn a nahe an der Null ist und ansonsten gut konditio-
niert.
(b) Es gilt
|φ′2 (x)||x| | − x sin(x) − cos(x)| |x|2 |x sin(x) + cos(x)|
κφ 2
rel = = 2
= .
|φ2 (x)| |x | | cos(x)| | cos(x)|
2n+1
Damit ist die Funktionsauswertung von φ2 in der Nähe von x = 2 π, n ∈ Z, und für |x| → ∞ schlecht
konditioniert und ansonsten gut konditioniert.
Aufgabe G 1.3: Doppelt logarithmischer Plot
Zeigen Sie, dass der Graph einer Funktion der Form f (x) = cxp mit c, p ∈ R, c, x > 0, im doppelt logarithmischen Plot
(d.h. in einem Koordinatensystem, in dem x- und y-Achse logarithmisch skaliert sind), eine Gerade mit Steigung p
darstellt.
Lösungsvorschlag:
Für c > 0 und x > 0 gilt
y = cxp ,
log(y) = log(cxp ),
log(y) = log(c) + p log(x).
Hat man logarithmisch skalierte Achsen Y = log(y) und X = log(x), so ergibt sich also die Darstellung F (X) = Y =
pX + log(c), d.h. eine Gerade mit Steigung p.
Aufgabe G 1.4: Fehlerabschätzung
Gegeben sei die Reihendarstellung der Sinus-Funktion
∞
X (−1)n 2n+1
φ(x) = sin(x) = x .
n=0
(2n + 1)!
PN (−1)n
Schätzen Sie den Verfahrensfehler |φ(x) − φN (x)| für |x| ≤ 1 geeignet ab, wobei φN (x) = n=0 (2n+1)! x
2n+1
die
Partialsumme bezeichnet. P
∞ x2n+1
Hinweis: Es gilt sinh(x) = n=0 (2n+1)! .
2
Lösungsvorschlag:
∞ ∞
X (−1)n 2n+1 X 1
|φ(x) − φN (x)| = x ≤ x2n+1
(2n + 1)! (2n + 1)!
n=N +1 n=N +1
x2 x4
1 2N +3
= x 1+ + + ...
(2N + 3)! (2N + 4)(2N + 5) (2N + 4)(2N + 5)(2N + 6)(2N + 7)
1 sinh(1)
≤ |x|2N +2 | sinh(x)| ≤ .
(2N + 3)! (2N + 3)!
Aufgabe G 1.5: Schnittpunkt zweier Geraden
Eine Gerade g in R2 wird charakterisiert durch das Tripel a, b, c ∈ R und enthält alle Punkte (x1 , x2 )T ∈ R2 , welche die
Formel ax1 + bx2 = c erfüllen. Hier ist der Fall a = b = 0 nicht erlaubt. Wir betrachten folgendes Problem:
Zu zwei gegebenen nicht-parallelen Geraden sei der Schnittpunkt zu bestimmen.
(a) Formulieren Sie das mathematische Problem, das heißt, geben Sie die Menge der Daten X, die Menge der
Ergebnisse Y und eine geeignete Abbildungsvorschrift ψ an.
(b) Geben Sie eine Lösungsabbildung φ an.
(c) Ist das Problem wohlgestellt, wenn wir auf die Forderung verzichten, dass die Geraden nicht-parallel sein sollen?
Begründen Sie!
Lösungsvorschlag:
(a) Wir betrachten zwei Geraden g1 und g2 , welche durch ihre Tripel a1 , b1 , c1 ∈ R und a2 , b2 , c2 ∈ R charakterisiert
werden. Hier müssen wir außerdem a1 = b1 = 0 und a2 = b2 = 0 ausschließen.
Weiterhin sollen wir uns auf nicht parallele Geraden beschränken. Dies entspricht der Forderung, dass (a1 , b1 ) =
λ(a2 , b2 ) für kein λ ∈ R erfüllt ist.
Für die Datenmenge erhalten wir so
X = (a1 , b1 , c1 , a2 , b2 , c2 ) ∈ R6 : (a1 , b1 ) ̸= 0, (a2 , b2 ) ̸= 0, (a1 , b1 ) ̸= λ(a2 , b2 ) ∀λ ∈ R .
Ein Schnittpunkt zweier Geraden in R2 ist ein Punkt in R2 . Für unseren Ergebnisraum bedeutet dies
Y = R2 .
Ein Punkt x = (x1 , x2 )T ist Schnittpunkt der beiden Geraden, wenn er beide Geradengleichungen erfüllt. Dies
entspricht
a1 b1 x1 c
= 1 .
a2 b2 x2 c2
| {z } | {z } | {z }
=:A =x =:c
Als Abbildungsvorschrift wählen wir damit
a1 b1 x1 c
ψ((a1 , b1 , c1 , a2 , b2 , c3 ), (x1 .x2 )) = − 1
a2 b2 x2 c2
(b) Wir nutzen unsere Notationen aus (a). Die Forderung (a1 , b1 ) ̸= λ(a2 , b2 ) für alle λ ∈ R stellt sicher, dass A
3
invertierbar ist.
Die Lösungsvorschrift ist damit gegeben durch
−1
a1 b1 c1
φ(a1 , b1 , c1 , a2 , b2 , c3 ) = .
a2 b2 c2
(c) Erlauben wir parallele Geraden, so erlauben wir (a1 , b1 ) = λ(a2 , b1 ) für ein λ ∈ R. Damit sind die beiden Zeilen
von A kollinear und die Matrix singulär. In diesem Fall existiert keine eindeutige Lösung mehr und damit ist das
Problem nicht mehr wohlgestellt.
Aufgabe G 1.6: Maschinengenauigkeit
Wie groß ist die Maschinengenauigkeit eps für M(b, m, r, R) in Abhängigkeit von b, m ∈ N, r, R ∈ Z mit r < R und
r ≤ 1 ≤ R?
Lösungsvorschlag:
In der Notation von Definition 1.16 lässt sich die Zahl 1 als Maschinenzahl darstellen mit a1 = 1, a2 , . . . , am = 0 und p = 1,
d.h. 1 = b−1 b1 . Die nächste größere Maschinenzahl ist die Zahl b−1 + b−m b1 = 1 + b1−m . Die Maschinengenauigkeit
ist nun genau die Hälfte des Abstands zwischen diesen beiden Zahlen, d.h. eps = 12 b1−m .
Hausübungen
Für die Bearbeitung der Hausübungen haben Sie eine Woche Zeit. Die Abgabe Ihrer handschriftlich angefertigten
Lösungen erfolgt in der Folgewoche in Ihrer Übungsgruppe oder online über moodle. Ihr(e) Tutor/in wird Ihre Lösung
korrigieren und bewerten und Ihnen Feedback geben. Für Rückfragen können Sie die Tutoren/innen-Sprechstunden
nutzen.
Um für die Prüfung zugelassen zu werden, benötigen Sie 50 % der insgesamt erreichbaren Hausübungspunkte.
Für Studierende, die die Veranstaltung als 5 CP-Modul hören, gibt es teilweise alternative Aufgaben und einige
Aufgaben fallen weg; diese sind entsprechend kenntlich gemacht. Machen Sie auf Ihrer Abgabe deutlich, dass Sie im
5 CP-Modul angemeldet sind, falls das auf Sie zutrifft.
Aufgabe H 1.1: Wohlgestelltheit (3 Punkte)
Gegeben sei das Integral Z a
1
ds
x |s|
mit Eingabedatum x und (gegebener) oberer Integralgrenze a ∈ R mit a > 0.
Formulieren Sie für das Integral ein wohlgestelltes mathematisches Problem, das heißt, geben Sie die größtmögliche
Menge der Daten X, die Menge der Ergebnisse Y und eine geeignete Abbildungsvorschrift ψ an.
Lösungsvorschlag:
Das Problem ist wohlgestellt, wenn wir nicht über die Singularität bei x = 0 integrieren, d.h. für alle x ∈ X mit
X = R>0 . Für jedes x ∈ X ist das Ergebnis der Integralauswertung
Ra 1 dann eine reelle Zahl, d.h. ein y ∈ Y mit Y = R. Die
Abbildungsvorschrift lautet demnach ψ(x, y) = x |s| ds − y.
4
Aufgabe H 1.2: Maschinenzahlen (3 Punkte)
Wir betrachten die allgemeinen normierten Maschinenzahlen M(b, m, r, R) mit b, m ∈ N, r, R ∈ Z mit r < R.
(a) Zeigen Sie, dass in dieser Menge die betragsmäßig größte darstellbare Zahl (1 − b−m )bR ist.
(b) Bestimmen Sie die in dieser Menge betragsmäßig kleinste darstellbare Zahl.
Lösungsvorschlag:
Wir verwenden die Notation aus Definition 1.16 aus dem Skript.
(a) Um die betragsmäßig größte Zahl zu bestimmen, setzen wir alle Stellen der Mantisse auf ai = b − 1, i = 1, ..., m
und als Exponenten e = R und erhalten
m m m m
!
X X X X
R−i −i R 1−i −i
(b − 1)b = (b − 1)b b = b − b bR
i=1 i=1 i=1 i=1
m−1 m
!
X X
b−i − b−i bR = b0 − b−m bR = (1 − b−m )bR
=
i=0 i=1
(b) Da wir mit normierten Maschinenzahlen arbeiten, setzten wir a1 = 1 und ai = 0, i = 2, ..., m und als Exponenten
e = r. Wir erhalten
m
!
X
−1 −m
b + 0·b br = br−1 .
i=2
Aufgabe H 1.3: Maschinengenauigkeit (3 Punkte)
(a) (Nur 9-CP-Modul) Bestimmen Sie die Maschinengenauigkeit von Matlab experimentell unter Verwendung der
Definition von eps aus der Vorlesung und erklären Sie, wie Sie vorgegangen sind.
Hinweis: Die Verwendung einer while-Schleife ist nützlich. Geben Sie Ihren Algorithmus als Matlab-Skript ab.
(b) (Nur 9-CP-Modul) Verwenden Sie den Befehl single(1) um Ihre anfängliche Approximation der Maschinenge-
nauigkeit zu definieren. Erklären Sie mit Hilfe von G 1.6, wieso sich dieser Wert von dem aus (a) unterscheidet.
(c) (Nur 5-CP-Modul) Überlegen Sie sich, wie Sie experimentell die Maschinengenauigkeit Ihres Taschenrechners
bestimmen können. Sie können annehmen, dass er mit Maschinenzahlen zur Basis 10 arbeitet. Geben Sie den Wert
an.
Hinweis: Geben Sie Ihren Algorithmus in Pseudocode an.
Lösungsvorschlag:
(a) Für die Standardgenauigkeit (double, 52 Mantissenbits) nutzen wir folgendes Matlab-Skript und erhalten
eps = 12 21−52 = 2−52 ≈ 2.22 · 10−16 .
1 % Setze 'Eins'. Standardmaessig wird 'double' genutzt.
2 % Hier kann auch mit 'single' gearbeitet werden, um die
3 % Maschinengenauigkeit fuer single herauszufinden.
4 one = 1.0;
5 % Setze den Exponenten initial auf 0.
6 e = 0;
7 % Pruefe, ob die Bedingung erfuellt ist.
5
8 while (one + 2^(e) > one)
9 % Verkleinere den Exponenten
10 e = e − 1;
11 end
12 % Die Maschinengenauigkeit nutzt den letzten gueltigen Exponenten
13 e = e + 1;
14 % Gebe Maschinengenauigkeit aus.
15 fprintf('Maschinengenauigkeit: 2^(%i) = %e\n', e, 2^e);
(b) Für die geänderte Genauigkeit erhalten wir eps = 21 21−23 = 2−23 ≈ 1.19·10−7 . Es genügt, im obigen Matlab-Skript
die Variable one auf single(1.0) statt auf 1.0 zu setzen.
Wir haben in G 1.6 gesehen, dass eps von der Mantissenlänge m abhängt. Da diese beim Gleitkommatyp double
in (a) eine Länge von 52 Bits hat, erklärt sich, dass hier die Maschinengenauigkeit kleiner ist als beim Typ single
(oder float), da hier nur eine Mantisse mit 23 Bits genutzt wird.
(c) Das Vorgehen sollte dem in Aufgabenteil (c) beschriebenen Algorithmus entsprechen. Auf einem wissenschaftlichen
Taschenrechner, wie dem Modell Casio fx-991DE X CLASSWIZ kann man zur Prüfung die Eingabe (1 + 10−i ) − 1
nutzen und erhält in diesem Fall eps = 10−12 . Für andere Taschenrechner kann dieser Wert natürlich davon
verschieden sein.
Aufgabe H 1.4: Gleitpunktarithmetik (1 Punkt)
Finden Sie Maschinenzahlen a, b und c für welche das Assoziativgesetz in der Gleitpunktarithmetik in M(10, 3) nicht
gilt, d. h.
a(bc) ̸= (ab)c.
Lösungsvorschlag:
Wir wählen z.b. a = 14.2, b = 5.13 und c = 0.615 aus M(10, 3):
rd 14.2 · rd(5.13 · 0.615) = rd(14.2 · 3.15) = 44.7
̸=
rd rd(14.2 · 5.13) · 0.615 = rd(72.8 · 0.615) = 44.8.
Aufgabe H 1.5: experimentelle Konvergenzordnung (3 Punkte)
tan(x)
Es soll experimentell das größte p ∈ N bestimmt werden, sodass x − 1 = O(|x|p ) gilt.
(a) Geben Sie in einer Tabelle die Werte xk und tan(x
xk
k)
− 1 für xk = 2−k , k = 1, 2, ..., 5 an und bestimmen Sie hieraus
die experimental order of convergence (EOC).
Hinweis: Die experimental order of convergence (EOC) von einer in einer Umgebung der Null definierten reellwertigen
Funktion f ist gegeben durch
log f (xk )/f (xk+1 )
EOC := .
log xk /xk+1
tan(xk )
(b) Stellen Sie xk und xk − 1 für xk = 2−k , k = 1, 2, ..., 5 grafisch dar und ermitteln Sie durch Vergleich mit den
Kurven für x1 , x2 , x die Konvergenzordnung p.
3
6
tan(x)
(c) Bestimmen Sie mit Taylorentwicklung das größtmögliche p ∈ N, sodass x − 1 = O(|x|p ) und vergleichen Sie
dies mit den in (a) und (b) gefundenen experimentellen Ergebnissen.
Hinweis: Für eine Funktion f bedeutet die Notation f ∈ O(|h|p ), dass es eine Konstante c > 0 und eine Konstante δ0 > 0
gibt, sodass |f (h)| ≤ c|h|p für alle h mit |h| ≤ δ0 gilt, siehe Kapitel 1.5.1 in Skript.
Lösungsvorschlag:
(a),(b) Die Tabelle und die Plots können erzeugt werden mit:
1 %−−−−−−−(a)
2 for k =1:5 % loop over the points
3 x(k) = 2^(−k);
4 y(k) = abs(tan(x(k))/x(k)−1); % calculating the error
5
6 if k>1
7 eoc(k) = (1/log(2))*log(y(k−1)/y(k)); % calculating the eoc (for k=1 there is no eoc)
8 end
9 end
10 eoc
11
12
13 %−−−−−−−(b)
14 loglog(x,y,'b',x,x,'r',x,x.^2,'g',x,x.^3,'k','LineWidth',2) % plot of monomials in log scale
15 legend('|tan(x)/x−1|','x','x^2','x^3','Location','SouthEast') % labeling the graphs
16 xlabel('x')
17 hold off
Dies führt auf EOC ≈ 2.
(c) Mit Taylorentwicklung folgt
tan(x)
tan(x) = x + 13 x3 + O(|x|5 ) ⇒ − 1 = 13 x2 + O(|x|4 ) = O(|x|2 ).
x
Daher gilt p = 2.
Heute Mathe, morgen… ?
Mathematiker*innen erzählen.
jeweils dienstags von 14:00 – 15:00 Uhr im Raum S2|15 244
Sebastian Schwinn & Michaela Langrock, d-fine, 22.10.2024
Markus Schupp & Deniz Arpak, EY, 19.11.2024
Kira Rempel-Samol & Len Williamson, DZ Bank, 03.12.2024
Weitere Informationen zu den Unternehmen und Vorträgen gibt es auf unserer Website unter:
[Link]/hmm