Sie sind auf Seite 1von 5

TH Nürnberg Georg Simon Ohm Wintersemester 2020/2021

Prof. Dr. Tim Kröger

Numerische Mathematik 1 für AMP


Übungsblatt 4
Zu bearbeiten bis: 8. November 2020


Aufgabe 42: Stellen Sie die Iterationsvorschrift des Newton-Verfahrens für die folgenden
Gleichungen auf, und berechnen Sie jeweils ausgehend vom angegebenen Startwert x0 die
ersten drei Iterationen.

a) x + exp(x) = 0, x0 = 0; c) arctan(x) + exp(x) = 0, x0 = 0;

b) x5 − x4 − 2x3 + 1 = 0, x0 = 1; d) x = cos x, x0 = 0.


Aufgabe 43: Es sei ein Mikroprozessor gegeben, der Addition, Subtraktion und Multi-
plikation von Gleitkommazahlen in zwei verschiedenen Genauigkeiten (z. B. float und
double) durchführen kann, jedoch die Division nur in der geringeren Genauigkeit (float).
Für die Division in hoher Genauigkeit soll daher eine Software-Lösung, basierend auf dem
Newton-Verfahren implementiert werden.
Beschränken Sie sich in der gesamten Aufgabe auf das Problem, den Kehrwert einer
Zahl a 6= 0 zu berechnen. (Kennt man diesen, so kann man wegen b/a = b · 1/a das
allgemeine Divisionsproblem hierauf zurückführen.)
Die Beschaffung eines Startwertes ist offenbar unproblematisch, da ein Divisionsalgo-
rithmus in geringer Genauigkeit verfügbar ist.
a) Der gesuchte Kehrwert ist Nullstelle der Funktion
f (x) = a · x − 1.
Warum führt der Ansatz mit dieser Funktion aber nicht zum Erfolg?

b) Machen Sie stattdessen den Ansatz


1
f (x) = a −.
x
Wie sieht das Newton-Verfahren für diesen Ansatz aus? Anmerkung: Dieses Ver-
fahren ist unter dem Namen Newton-Raphson-Divisionsalgorithmus bekannt.

c) Testen Sie dieses Verfahren am Beispiel a = 9, indem Sie drei Schritte durchführen.
Verwenden Sie den Startwert x0 = 0.1.

Übungsblatt 4, Seite 1
Aufgabe 44: In einer Anwendung muss die Nullstelle einer Funktion f bestimmt werden,
mit einem Näherungsverfahren erhält man
x∗ = 23.4317.
An dieser Stelle ist außerdem
f ′ (x∗ ) = −0.0043271.
Die Funktion f enthält Messdaten und ist auf Grund dessen mit einem absoluten Fehler
von bis zu 0.05 behaftet. Mit welchem
a) absoluten

b) relativen
Fehler der gefundenen Nullstelle x∗ muss man demnach rechnen?

Aufgabe 45:
a) Sei D ⊂ R ein abgeschlossenes, beschränktes Intervall und f : D → R einmal stetig
differenzierbar. Zeigen Sie, dass f Lipschitz-stetig ist.

b) Ändert sich das, wenn D stattdessen ein offenes Intervall ist?

c) Finden Sie eine Funktion, die Lipschitz-stetig, aber nicht differenzierbar ist.

Aufgabe 46: Programmieren Sie das Newton-Verfahren. Ihr Programm soll auch die
experimentelle Konvergenzordnung berechnen. Empfohlene Funktionssignatur:
function [x,xVec,alpha] = newton(f,f_,x0,tol1,tol2,tol3,maxit)
mit folgenden Parametern:
f: Funktion, deren Nullstelle gefunden werden soll (als Funktions-
handle);
f_: Ableitung der Funktion (ebenfalls Funktionshandle);
x0: Startnäherung;
tol1, tol2, tol3: Toleranzen für Abbruchkriterium (wie in Vorlesung besprochen);
maxit: Maximale Anzahl Iterationen (sonst Abbruch, auch wenn keine
Konvergenz vorliegt);
x: berechnete Näherung;
xVec: Vektor aus den Näherungen in allen Schritten (von x0 bis x);
alpha: Vektor aus allen experimentellen Konvergenzordnungen.
Zum Testen bieten sich unter anderem die Beispiele aus Aufgabe 42 an.

Übungsblatt 4, Seite 2
Aufgabe 47: Finden Sie ein Beispiel, in dem das Newton-Verfahren (mit einem schlecht
gewählten Startwert) nicht konvergiert, obwohl eine Lösung des Problems existiert.

Aufgabe 48: Finden Sie ein Beispiel, in dem das Newton-Verfahren für mindestens fünf
Schritte den Eindruck erweckt zu konvergieren, danach jedoch plötzlich ausreißt. Hinweis:
Wählen Sie eine Funktion, die gar keine Nullstelle hat.

Aufgabe 49: Wenden Sie das Newton-Verfahren (am besten Ihr Programm aus Aufga-
be 46) auf das Problem

x4 + x3 − 10x2 − 4x + 24 = 0

mit dem Startwert x0 = 3 an. Beobachten Sie die experimentelle Konvergenzordnung.


Was fällt auf? Wie können Sie das erklären? Welche Voraussetzung des Satzes über die
quadratische Konvergenz ist nicht erfüllt?

Aufgabe 50: Programmieren Sie das Newton-Verfahren mit der in der Vorlesung erläu-
terten Backtracking-Methode. Empfohlene Funktionssignatur:
function [x,xVec,alpha] = newton_backtracking(f,f_,x0,tol1,tol2,tol3,maxit)
mit denselben Parametern wie in Aufgabe 46. Zum Testen können Sie Ihr Beispiel aus
Aufgabe 47 verwenden.

Aufgabe 51: Finden Sie ein Problem, in dem das Newton-Verfahren ohne Backtracking
schneller die Lösung findet als mit Backtracking.

Aufgabe 52: Behandeln Sie das Testproblem (mit bekannter Lösung)

arctan x = 0

mit dem Newton-Verfahren mit Backtracking (zum Beispiel mit Ihrem Programm aus
Aufgabe 50), und zwar mit dem Startwert

x0 = 2.88642694382436.

(Passen Sie genau auf, dass Sie sich nicht vertippen.) Was beobachten Sie? Haben Sie
eine Idee, wie man das Problem umgehen könnte?

Übungsblatt 4, Seite 3
Aufgabe 53: Programmieren Sie das Finite-Differenzen-Newton-Verfahren. Empfohlene
Funktionssignatur:
function [x,xVec,alpha] = fd_newton(f,x0,h,tol1,tol2,tol3,maxit)
mit folgenden Parametern:
f, x0: wie in Aufgabe 46;
h: Schrittweite h für finite Differenzen; außerdem soll für h=[] (leerer
Vektor) der Wert h vom Programm automatisch bestimmt werden
(wie in der Vorlesung besprochen);
tol1, tol2, tol3: wie in Aufgabe 46;
x, xVec, alpha: wie in Aufgabe 46.
Testen Sie das Programm unter anderem an dem Beispielproblem (mit bekannter Lösung)
x2 = 4
mit dem Startwert x0 = 3. Machen Sie mit diesem Beispiel folgende Experimente:
• Sie wählen h = 10−k , k = 1, . . . , 15 und beobachten die experimentelle Konver-
genzordnung. Für kleine k sollte sie nahe 1, für große k aber nahe 2 sein.
• Sie wählen h = 10−k , k = 1, . . . , 15 berechnen den Fehler nach einer festen Anzahl
Schritte (z. B. nach drei Schritten). Wie verhält sich dieser Fehler in Abhängigkeit
von k?

Aufgabe 54: Eine Ellipse in der x-y-Ebene ist durch die Gleichung
(x − A)2 (y − B)2
+ =1
a2 b2
gegeben; dabei ist (A, B) der Mittelpunkt der Ellipse, und a > 0 und b > 0 sind die
Halbachsen in x- bzw. y-Richtung.
Gesucht seien die beiden Schnittpunkte der Ellipsen
• um den Nullpunkt mit Halbachsen a = 2 und b = 1 sowie
• um den Punkt (2, 2) mit Halbachsen a = 3 und b = 2.

a) Formulieren Sie dieses Problem als zweidimensionales Nullstellenproblem. Das heißt,


stellen Sie eine Funktion f : R2 → R2 auf, deren Nullstellen x∗ = (x∗ , y ∗ ) die ge-
suchten Schnittpunkte sind.

b) Einer der beiden Schnittpunkte ist trivial. Welcher? Hinweis: Skizze.

c) Wählen Sie eine geeignete Startschätzung für den anderen Schnittpunkt, und führen
Sie von dort ausgehend einen Schritt des Newton-Verfahrens durch.

Übungsblatt 4, Seite 4
Aufgabe 55: Das nichtlineare Gleichungssystem

x2 y 2 + 3xy(x2 + y 2 ) = −26,
x2 + xy 2 = 6

hat die Lösung x = 2, y = −1. Wenn die Werte −26 und 6 auf der rechten Seite der
Gleichungen mit jeweils einem absoluten Messfehler von maximal 0.06 behaftet sind, mit
welchem absoluten Fehler in der Lösung ist dann zu rechnen?

Aufgabe 56: Programmieren Sie das Newton-Verfahren für Systeme. Testen Sie Ihr Pro-
gramm zum Beispiel an dem Problem aus Aufgabe 54. Hinweis: Zum Lösen eines linearen
Gleichungssystems Ax = b mit regulärer quadratischer Matrix A hat MATLAB eine einge-
baute Methode, die Sie über die intuitive Schreibweise x=A\b aufrufen können. Sie können
stattdessen aber natürlich auch Ihre Programme aus Aufgabe 30 verwenden.

Aufgabe 57 (Themenabschluss Nichtlineare Gleichungen bzw. Gleichungssysteme):


Erstellen Sie ein Poster (DIN A 4 genügt), auf dem die folgenden Begriffe schematisch
miteinander in Beziehung gebracht werden.

• ableitungsfreie Verfahren; • Kondition;


• Backtracking; • Konvergenzordnung;
• experimentelle Konvergenzordnung;
• Newton-Verfahren;
• Finite-Differenzen-Newton-Verfahren;
• Gleichungssystem; • Sekantenverfahren;

• h; • skalare Gleichung;

Lösungen: 42.a) x1 = −0.5, x2 = −0.566311, x3 = −0.567143. 42.b) x1 = 0.8, x2 =


0.772417, x3 = 0.771675. 42.c) x1 = −0.5, x2 = −0.601585, x3 = −0.606544. 42.d) x1 =
1, x2 = 0.750364, x3 = 0.739113. 44.a) 11.5551. 44.b) 49.3139 %. 54.b) (2, 0). 55. 0.08.


Übungsblatt 4, Seite 5