8.6 Aufgaben
-
Mit dem Bisektionsverfahren soll die Wurzel aus 2 berechnet werden. Es sollen für eine Genauigkeit von 𝜀 = 10-6 die aktuellen unteren und oberen Intervallgrenzen [an,bn] sowie das Funktionsargument x und die Funktionswerte f(a), f(x) und f(b) ausgegeben werden.
-
Implementieren Sie das Bisektionsverfahren mit einer for-Schleife für die Berechnung der Wurzel aus 2 (𝜀 = 10-k).
-
Schreiben Sie ein Matplotlib-Programm, das die Funktionsgraphen der Funktionen a) y = x – cos(x), b) y = x2 – sin(x), c) y = exp(x) – x2/4 – 2, d) y = ln(x + 2) – 2x2 darstellt.
-
Implementieren Sie das Bisektionsverfahren als Python-Funktion, und berechnen Sie die Nullstellen für die mathematischen Funktionen aus Aufgabe 3.
-
Schreiben Sie ein Matplotlib-Programm, das die Fixpunktgleichungen der Funktionen aus Aufgabe 3 darstellt.
-
Veranschaulichen Sie das Fixpunktverfahren für y = x – cos(x) = 0. Die Grafikdatei aus Abbildung 8.3 finden Sie im Downloadbereich: 08_nullstellen/abbildungen/08_003.py.
-
Implementieren Sie das Fixpunktverfahren als Python-Funktion, und berechnen Sie die Nullstellen für die mathematischen Funktionen aus Aufgabe 3.
-
Implementieren Sie das Newton-Verfahren als Python-Funktion, und berechnen Sie die Nullstellen für die mathematischen Funktionen aus Aufgabe 3. Für die 1. Ableitung können Sie den zentralen Differenzenquotienten (f(x+h)-f(x-h))/(2*h) mit h=1e-4 einsetzen. Die Iteration soll nach n = 100 Schritten abbrechen.
-
Schreiben Sie ein Programm, das die n-te Wurzel aus einer positiv reellen Zahl mit dem Newton-Verfahren berechnet.
-
Berechnen Sie mit der SciPy-Funktion newton() die Nullstellen des Polynoms y = x4 – 10x3 + 35x2 – 50x + 24. Der Funktionsgraph des Polynoms soll auch dargestellt werden.