Berechnung der Wurzel basierend auf dem Heron Verfahren

21.03.2008

Relativ bekannt ist die Berechnung der Quadratwurzel mit dem Heron-Verfahren:
 x_{n+1} = \frac{x_n + \frac{a}{x_n}}{2}

Je häufiger man die Iterationsvorschrift anwendet, desto genauer wird das Ergebnis. Als Startwert für x_n wird dabei 1 verwendet.

Herleiten lässt sich die Formel mit dem Newton-Verfahren zur Nullstellenbestimmung.

Betrachten wir hierzu die Gleichung f(x) = x^2 - a. Die Gleichung hat genau eine Nullstelle, nämlich sqrt{a}.

Wendet man nun auf f(x) das Newton-Verfahren an, so erhält man obige Gleichung:
x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)} = x_n - \frac{x^2 - a}{2x}<br />=  \frac{x_n + \frac{a}{x_n}}{2}

Diese Gleichung kann man leicht erweitern, indem man die dazu allgemeine Funktion f(x) = x^k - a betrachtet. Die Nullstelle ist diesmal die k-te Wurzel von a und ergibt mit dem Newton-Verfahren die folgende Iterationsvorschrift:
<br />x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)} = x_n - \frac{x_n^k - a}{k \cdot x_n^{k-1}} = x_n - ( \frac{x_n}{k} - \frac{a}{k \cdot x_n^{k-1}} ) = \frac{k-1}{k} \cdot x_n + \frac{a}{k} \cdot \frac{1}{x_n^{k-1}}<br />

Als Startwert wird wiederum x_n = 1 verwendet.

Ein Beispielprogramm dazu gibt es in der C/C++ Rubrik

tjaaaa

04.05.2010
Author: tjaaaa

?????????????

Einen neuen Kommentar erstellen...