Javascript
 

 Quadratwurzel berechnen

Auf dieser Seite wird die Quadratwurzel einer Zahl nach dem Intervallhalbierungsverfahren berechnet.
Das ganze ist eher eine Fingerübung, denn natürlich kann heute jeder Taschenrechner Quadratwurzeln auf Tastendruck berechnen, die meisten sogar auch Wurzeln mit anderen Exponenten (Kubikwurzeln ezc.).
Trotzdem habe ich mir die Mühe gemacht, dieses kleine Skript zu schreiben, weil ich mich irgendwann gefragt habe, wie man Wurzeln eigentlich "zu Fuß" ausrechnen kann.
Das hier benutzte Verfahren fand ich so herrlich einfach und einleuchtend, dass ich mir fast mit der Hand vor den Kopf geschlagen habe, weil ich gedacht habe, es sei so schwierig, zumindest einen guten Näherungswert einer Wurzel zu berehnen. Es ist aber banal! Für diejenigen, denen es genausowenig wie mir von Anfang an klar ist, will ich es hier nochmal kurz beschreiben:

Jede Zahl lässt sich als Produkt zweier Faktoren schreiben:

Z = F1 x F2

Wenn diese beiden Faktoren gleich sind, dann handelt es sich genau um die gesuchte Wurzel aus dieser Zahl:

F1 = F2 = F = √Z

Wenn sie nicht gleich sind, dann

  1. ist einer der beiden Faktoren kleiner und der andere größer als √Z

    F1 > √Z und F2 < √Z
    oder
    F1 < √Z und F2 > √Z

  2. lässt sich jeder der beiden Faktoren aus Z und dem anderen Faktor durch Umstellen der obigen ersten Gleichung berechnen:

    F1 = Z / F2
    F2 = Z / F1

Wenn die beiden Faktoren also noch nicht gleich sind, also noch nicht √Z entsprechen, kann man sich wegen Nr. 1 dem gesuchten Wurzelwert dadurch annähern, dass man den Mittelwert von F1 und F2 als neuen Näherungswert F1′ betrachtet und den dazugehörigen zweiten Faktor ausrechnet.
Das kann man so lange wiederholen, bis das Intervall [F1;F2] ausreichend klein, d.h. die Näherung genau genug ist.

Als Anfangswerte für F1 und F2 kann man 1 und den Radikanden selbst nehmen; man braucht keinen "guten" Schätzwert, weil das Verfahren recht schnell konvergiert.
WIE schnell kann man sehr gut am Beispiel des Radikanten 0 sehen: Es ist der einzig mögliche Wert, bei dem der Radikant während aller Iterationen auf der Intervallgrenze bleibt, weil er gleichzeitig der gesuchte Wurzelwert ist. Lässt man also die Wurzel aus Null berechnen und variiert die geforderte Genauigkeit, kann man sehr schön sehen, wie sich das auf die Zahl der Iterationen auswirkt.

Umgekehrt kann man eine sehr gute Genauigkeit (z.B. Null) und eine kleine Schranke für die Maximalzahl an Iterationen vorgeben und die erzielte Genauigkeit bewerten: Schon mit wenigen Iterationen werden kleine Fehlerschranken erzielt. Allerdings darf der Radikant bei diesem Experiment keine Quadratzahl sein, weil das Programm auch dann abbricht, wenn der genaue Wurzelwert bereits vor Erreichen der geforderten Genauigkeit oder maximalen Iterationenzahl gefunden wurde.
In diesem Fall ist die Fehlerschranke Null und das Näherungszeichen wird durch ein Gleichheitszeichen = ersetzt.

Das Programm erwartet folgende Eingaben:

Ausgegeben wird

Eingaben
Berechne  √
geforderte Genauigkeit
max. Anzahl Iterationen
Ergebnis
 
Fehlerschranke:
benötigte Iterationen:



Home
Falls diese Seite ohne Navigationsleiste angezeigt wird, aktivieren Sie Javascript oder klicken Sie hier!