Wurzel Näherung

Soweit ich weiß, berechnet man die Wurzel einer Zahl mit einer Näherung. Nur wie sieht diese Näherung aus (Formel)?

Gruß Alex

wurzel(x)=a -> a*a=x, bzw a=x/a

Jetzt nimmst du an, an (a index n) wäre beinahe die Wurzel, also etwas kleiner oder größer als das richtige Ergebnis, dann ist x/an entsprechend größer oder kleiner als die Wurzel, also ist der Mittelwert dieser beiden Werte eine „bessere“ Schätzung.

-> a(n+1)=1/2 (an + x/an)

und die Iteration läuft.
Wegen der Konvergenz bitte einen Mathematen fragen.

Gruß
MK

Hi Alex,

was verstehst Du darunter, die Wurzel näherungsweise zu bestimmen? Interessieren Dich iterative Verfahren zur Bestimmung der Wurzel oder willst Du eher wissen, wie Dein Taschenrechner sie ermittelt?

Eine Möglichkeit wäre, die Wurzelfunktion in eine Taylor-Reihe zu entwickeln, welche nach einer bestimmten Anzahl von Gliedern abbricht. Dann hättest Du eine Approximation, allerdings nicht die bestmögliche.

Der Trick ist zunächst, daß man das Problem auf ein Intervall beschränkt. Es gilt allgemein Sqrt(a)*Sqrt(b) = Sqrt (a*b). Kenne ich also z.B. Sqrt(2)=1.41…, so kann ich bei der Ermittlung von Sqrt(x) x sukzessive durch 2 Teilen (mit 2 multiplizieren), bis ich z.B. im Intervall (x_0,x_1] = (0.5,1] bin. Zum Beispiel: Sqrt(4.8)=Sqrt(2)*Sqrt(2.4)= Sqrt(2)* Sqrt(2)*Sqrt(1.2)= Sqrt(2)* Sqrt(2)* Sqrt(2)* Sqrt(0.6). Ich muß also nur noch die Wurzel im Intervall (0.5,1] mit möglichst guter Genauigkeit bestimmen. Hierzu dient üblicherweise eine Approximation durch Polynome vom Höchstgrad n. In Taschenrechnern (6-8 relevante Nachkommastellen) genügen Polynome 6. Grades normalerweise völlig. Diese Approximation wird folgendermaßen gewonnen. Zunächst nimmt man eine Basis des Polynomraums, hier zur Veranschaulichung Höchstgrad 2: Die Basis ist p1=1, p2=x, p3=x^2. Nun bildet man ein lineares Gleichungssystem. Die Koeffizientenmatrix A enthält die Elemente aij=Integral_von_x0_bis_x1_über (pi*pj) dx

Im Vektor R der rechten Seite steht ri = Integral_von_x0_bis_x1_über (pi*sqrt(x)) dx

Die Lösung dieses Gleichungssystems liefert die Koeffizienten für die bestmögliche Approximation auf besagtem Intervall.

Ist jetzt wahrscheinlich etwas hoch, auf weitere Nachfrage liefere ich aber gerne Details!

Gruß und schönes Wochenende
Ted

Soweit ich weiß, berechnet man die Wurzel
einer Zahl mit einer Näherung. Nur wie
sieht diese Näherung aus (Formel)?

Gruß Alex

Das vorgeschlagene Verfahren heisst (ist) die Newtonsche Iteration. Warum es funktioniert, kann man sich mit ein paar Zeichnungen veranschaulichen (im Stil von „Tangente an den Funktionsgraphen der Wurzelfunktion legen, usw.“). Sauber begruendbar ist es, wenn man benuetzt, dass die Wurzelfunktion für alle reellen Zahlen groesser Null differenzierbar ist (will ich jetzt hier nicht machen, ist aber auch nicht schwer).
HAL

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Das vorgeschlagene Verfahren heisst (ist)
die Newtonsche Iteration. Warum es

Stimmt nicht, Newton It: x(n+1) = x(n) +dx =x(n)+ dy/f’ in physikalischer Kurzschreibweise (d.h. keine Garantie fürs Vorzeichen), deswegen ist auch der Rest unten nicht interessant.

funktioniert, kann man sich mit ein paar
Zeichnungen veranschaulichen (im Stil von
„Tangente an den Funktionsgraphen der
Wurzelfunktion legen, usw.“). Sauber
begruendbar ist es, wenn man benuetzt,
dass die Wurzelfunktion für alle reellen
Zahlen groesser Null differenzierbar ist
(will ich jetzt hier nicht machen, ist
aber auch nicht schwer).
HAL

(Zuviel 2001 gesehen? (-:wink:

MK

Nicht Newton ist’s sondern ein oller Grieche Namens Heron, nach dem diese Iteration benannt ist. Ist ein Standardverfahren zum Berechnen von Wurzeln in der 9. Klasse.

Gruß, Christopher

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich sehe ein, dass ich mich doch zu kurz fassen wollte - wirkt immer arrogant und ist mir schon in dem Film im Umgang mit Menschen nicht gut bekommen, HAL9000 :smile:)

Die angegebene Formel ergibt sich aus dem Newtonschen Iterationsverfahren (das man zur numerischen Ermittlung von Nullstellen differenzierbarer Funktionen verwenden kann) vowie folgt:

Das Verfahren lautet so:
x(n+1) = xn - f(xn)/f’(xn)

Das Erfolg des Verfahrens ist natuerlich an ein paar Voraussetzungen geknuepft (z.B. sollte zwischen dem zu wählenden Startwert x0 der Iteration und der gesuchten Nullstelle möglichst kein Extremum der Funktion liegen, da dann f’(x) = 0 vorkommen könnte - wäre fatal).

Im Fall der gesuchten Quadratwurzel von a ist die oben einzusetzende Funktion (deren Nullstelle ich also suche):

f(x) = x**2 - a

bzw. ihre Ableitung

f’(x) = 2*x

Wenn man das fehlerfrei macht, ergibt sich die angefragte Formel.

Das Verfahren konvergiert sehr schnell und ist meines Wissens auch der für die Wurzelfunktionen in Programmiersprachen implementierte Algorithmus.

Soweit ich weiß, berechnet man die Wurzel
einer Zahl mit einer Näherung. Nur wie
sieht diese Näherung aus (Formel)?

Gruß Alex

In einem alten Buch meines Vaters habe ich ein Verfahren gesehen, mit dem man die Wurzel einer Zahl; auch gebr. Zahl „im Kopf“ rechnen kann. Ich weiß nur noch, daß man die Teil-Zahl vor dem Komma und hinter dem Komma in zweier Päckchen einteilen muß und dann eine wilde Dividiererei losgeht.

Wenn ich wieder bei meinen Eltern bin kann ich ja mal nachschauen, wenn du willst.
Sag mir bitte Bescheid.

Stefan

Soweit ich weiß, berechnet man die Wurzel
einer Zahl mit einer Näherung. Nur wie
sieht diese Näherung aus (Formel)?

Gruß Alex

Hallo Alex,

der Tascherrechner ermittelt die wurzel mit folgender Iteration:

Ausgehen von einem Rechtecke länge = der Zahl + 1 als Breite / 2 ergibt die neue Rechecklänge. Anschließend wieder die Zahl durch die Rechtecklänge Teilen. Die Beiden Werte addieren und durch 2 teilen. Das ganze solange wiederholen bis die gewüschte genauigkiet erreicht ist.

gruß thomas