Fixpunktiteration für Kubikwurzel

Sep 13 2020

Ich versuche, die Kubikwurzel einer Zahl mithilfe der Festpunktiteration zu approximieren. Ich weiß, wie man eine Fixpunktiteration durchführt, aber ich brauche Hilfe, um die Gleichung x = f (x) herauszufinden. Nehmen Sie x als Wurzel und n als Zahl, für die die Kubikwurzel ermittelt werden soll.

Antworten

1 CarlChristian Sep 14 2020 at 18:03

@Lutz Lehmann schlägt vor, die Newtonsche Methode für die Gleichung zu verwenden $$f(x) = 0,$$ wo $$f(x) = x^2 - \frac{a}{x}.$$ Es ist klar, dass wenn $a > 0$, dann $r = a^{\frac{1}{3}}$ist die einzige positive Lösung dieser Gleichung. Die Iteration hat die Form$$x_{k+1} = x_k - \frac{f(x_k)}{f'(x_k)} = g(x_k)$$ wo $$g(x) = x - \frac{f(x)}{f'(x)} = x - \frac{x^2 - \frac{a}{x}}{2x + \frac{a}{x^2}} = x - x \left(\frac{x^3 - a}{2x^3 + a}\right).$$Im Allgemeinen wird die Konvergenz einer funktionalen Iteration durch die Ableitungen am Fixpunkt bestimmt. Insbesondere wenn$g(r) = r$ und $$g^{(j)}(r) = 0, \quad j=1,2,\dotsc,p-1$$ dann nach Taylors Formel $$|r - x_{k+1}| = O(|r-x_k|^p).$$ Im Fall der Newtonschen Formel, dh $$g(x) = x - \frac{f(x)}{f'(x)}$$ und $f(r) = 0$ und $f(x) \not = 0$, wir haben $$g(r) = r $$ und $$ g'(x) = 1 - \frac{f'(x)^2 - f(x)f''(x)}{f'(x)^2} = \frac{f(x)f''(x)}{f'(x)^2} $$ und $$ g''(x) = \frac{(f'(x)f''(x)+f(x)f'''(x))f'(x)^2-2 f(x)f''(x)f'(x)f''(x)}{f'(x)^4}$$ Im $f(r) = 0$, dann $g'(r) = 0$ und $p \ge 2$ und wenn $f(r) = f''(r) = 0$, dann $g'(r) = g''(r) = 0$ und $p \ge 3$. Es ist einfach, dies mit zu überprüfen$f(x) = x^2 - a x^{-1}$ wir haben $$f'(x) = 2x + ax^{-2}$$ und $$f''(x) = 2 - 2 ax^{-3}.$$ Es folgt dem $$f(r) = f''(r) = 0$$ wo $$r = a^{\frac{1}{3}}.$$

YvesDaoust Sep 14 2020 at 18:16

Die Ausgangsgleichung lautet

$$x^3=n.$$

Sie können viele Dinge ausprobieren,

$$x=\frac n{x^2},\\x=n+x-x^3,\\x=\alpha x+\beta\frac x{n^2}+\gamma(n+n-x^2),\\\cdots$$ mit $\alpha+\beta+\gamma=1$ vorausgesetzt, die Funktion zieht sich zusammen.

Wie von anderen gesagt, werden Newtons Iterationen effizient sein:

$$x=x-\frac{x^3-n}{3x^2}=\frac{2x^3+n}{3x^2}.$$