zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Ja. Durch die letzte Anweisung der äußeren Schleife wird jedes Mal der gerade verwendete Wert des Zinssatzes geändert.

Wenn die Schleife beendet ist (da das Ziel erreicht wurde), wird dieser neue Zinssatz ausgegeben, nicht der Zinssatz, der in der gerade beendeten Berechnung verwendet wurde.

Newtons Methode

Genug mit dem langweiligen finanzmathematischen Zeug.

Die Bibliothek java.lang.Math enthält die Quadratwurzelfunktion ebenso wie viele andere Funktionen wie Sinus, Cosinus und absolute Werte. (Werft einen Blick zurück in das Kapitel 11. Da findet Ihr mehr zu diesem Thema.) Die Funktionen in dieser Bibliothek sind von Programmierern, die Experten der numerischen Analysis sind, sorgfältig geschrieben und getestet worden. Wir verwenden üblicherweise eine Methode aus dieser Bibliothek, um eine Quadratwurzel zu berechnen. Wir wollen hier aber untersuchen, wie die Quadratwurzelfunktion geschrieben werden könnte.

Newtons Methode die Quadratwurzel einer Zahl N zu berechnen war es, eine erste Schätzung vorzunehmen und diese Schätzung zu verbessern, um eine bessere Schätzung zu bekommen und so weiter. Die Verbesserung der Schätzungen wird durch die folgende Formel erreicht:

neueSchaetzung = N/(2*alteSchaetzung) + alteSchaetzung/2

Die Begründung warum das funktioniert könnten wir in einem Mathematikbuch nachlesen. Aber alles was wir für dieses Programm brauchen, ist zu wissen wie die Formel zu verwenden ist.

Zum Beispiel, angenommen wir wollen die Quadratwurzel von N = 3.0 wissen. Die erste Schätzung kann fast jeder Wert sein. 1.0 ist gut genug.

alteSchaetzung N/(2*alteSchaetzung)alteSchaetzung/2neueSchaetzung
1.0 1.5 0.5 2.0
2.0 0.75 1.0 1.75
1.75 0.85714 0.875 1.73214
1.73214 0.86598 0.86607 1.73205

Die vierte Schätzung ist ziemlich nahe:

1.73205*1.73205 = 2.99999

Wir können jedoch nicht immer damit rechnen bereits nach vier Schritten ein gutes Ergebnis zu erzielen. Ein Programm sollte die Schätzung verbessern, bis das Ergebnis fast korrekt ist und dann stoppen.

FRAGE 12:

Warum werden die Schleifendurchgänge nicht fortgesetzt, bis das Ergebnis exakt richtig ist?