Die Wurzel einer reellen Zahl soll ermittelt werden. Ist eine Näherung der Wurzel, so gibt es einen kleinen Rest und es würde genügen diesen Rest zu ermitteln. Die Mutmaßung, dass bei kleinem das Quadrat noch viel viel kleiner ist, liefert wegen
eine Näherung für und damit eine hoffentlich bessere Näherung
für die Wurzel. Man kann tatsächlich beweisen, dass
Es sei angemerkt, dass dieses Verfahren viel schneller gegen die Wurzel konvergiert als das Intervallhalbierungsverfahren.
Heroniteration vs. Intervallhalbierung
Die Heroniteration konvergiert viel(!) schneller gegen die Wurzel als das Intervallhalbierungsverfahren. Genauer gelten für eine positive Zahl
Satz (Heron)
Sei die Folge aus der Heroniteration. Wenn für den Startwert die Bedingung erfüllt ist, so gilt auf jeden Fall
Wer unbedingt einen Beweis sehen will, klicke hier.
Satz (Intervallhalbierung)
Sei das -te Intervall beim Intervallhalbierungsverfahren. Als Näherung nehmen wir immer die Mitte des Intervalls, also . Es gilt auf jeden Fall
Zum Vergleich: Nach Iterationen hat man für die Faktoren jeweils
Wärend man bei Heron also schon sicher sagen kann, dass ( Nullen nach dem Komma) ist, kann man beim Intervallhablierungsverfahren gerademal sicher sagen, dass gilt.
Implementiere Herons Algorithmus in JAVA
Schreibe dazu eine Methode sqrt
, die einen double
Wert a
erhält und die Wurzel von a
zurückgibt. Sicherlich musst du eine Schleife verwenden. Überlege dir selbst, was eine gute Abbruchbedingung für diese Schleife sein sollte.