8.6    Aufgaben

  1. 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.

  2. Implementieren Sie das Bisektionsverfahren mit einer for-Schleife für die Berechnung der Wurzel aus 2 (𝜀 = 10-k).

  3. 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.

  4. Implementieren Sie das Bisektionsverfahren als Python-Funktion, und berechnen Sie die Nullstellen für die mathematischen Funktionen aus Aufgabe 3.

  5. Schreiben Sie ein Matplotlib-Programm, das die Fixpunktgleichungen der Funktionen aus Aufgabe 3 darstellt.

  6. 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.

  7. Implementieren Sie das Fixpunktverfahren als Python-Funktion, und berechnen Sie die Nullstellen für die mathematischen Funktionen aus Aufgabe 3.

  8. 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.

  9. Schreiben Sie ein Programm, das die n-te Wurzel aus einer positiv reellen Zahl mit dem Newton-Verfahren berechnet.

  10. 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.