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. (Werfen Sie einen Blick zurück in das Kapitel 11. Da finden Sie mehr zu diesem Thema.) Die Funktionen in dieser Bibliothek sind von Programmierern, die Experten der numerischen Analysis sind, sorgfältig geschrieben und getestet worden. Sie verwenden üblicherweise eine Methode aus dieser Bibliothek, um eine Quadratwurzel zu berechnen. Lassen Sie uns aber hier 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 finden Sie in Ihrem Mathematikbuch, aber alles was Sie für dieses Programm brauchen, ist zu wissen wie die Formel zu verwenden ist.

Zum Beispiel, angenommen Sie 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

Sie 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?