1.2   Berechnen einer n. Wurzel durch Iteration

Aufgabenstellung:

Es soll die Lösung von  x5 = c  ( z. B. c = 41) bestimmt werden.

c = x5       ↔    x  = c/x4

 x1 sei eine etwas ungenaue, geschätzte Lösung.

Der wahre Wert x ( Lösung von c = x5 ) liegt zwischen c/x14 und x1

Begründung:

Ist x1 < x, dann gilt: c/x14 > x     ( Mit kleiner werdendem Nenner wird der Quotient größer.)

Ist x1 > x, dann gilt: c/x14 < x     ( Mit größer werdendem Nenner wird der Quotient kleiner.)

Der Mittelwert x2 von  c/x14 und x1 liegt möglicherweise dem wahren Wert x näher als x1.

Dies soll an dem Beispiel x5 = 32 geprüft werden.

Die Lösung von x5 = 32  ist x = 2.

Wir bestimmen zu den Näherungswerten x1 = 1,7; x1 = 1,8 und x1 = 1,9 die Quotienten 32 / x14

x1 = 1,7;   c/x14  = 32 / 1,74 = 3,83

x1 = 1,8 ;  c/x14  = 32 / 1,84 = 3,04

x1 = 1,9 ;  c/x14  = 32 / 1,94 = 2,45

 

Es ist deutlich erkennbar, dass 32 / x14    erheblich stärker vom wahren Wert 2 abweicht als x1. Aus diesem Grunde erscheint die Berechnung eines Mittelwerts nach x2 = (x1 + c/x14) /2 zur Bestimmung eines besseren Näherungswerts x2  nicht sinnvoll. Der Mittelwert sollte so sein, dass der Fehler von x1  den von  c/x14 weitgehend ausgleicht. Dies gelingt, wenn man x1 viermal in den Mittelwert eingehen lässt.

x2 = (x1 + x1 + x1 + x1+ c/x14) /5     →     x2 = (4 · x1+ c/x14) /5 

Noch besser als x2   ist dann  x3 = (4 · x2+ c/x24 )/5  und dann x4 = (4 · x3+ c/x34 )/5 als Näherungswert geeignet..

Diese schrittweise Annäherung an die richtige Lösung mit x1, x2, x3, x4  usw. heißt Iteration (Iter: lateinisch der Schritt).

Zur Berechnung von x =  ( xn = c) wird zur schrittweise Annäherung  eine Mittelung nach

x2 = [(n-1) · x1+ c/x1(n-1)] /n  durchgeführt.

In der App. Rechner.php kann die n.Wurzel aus c mit der folgenden Programmzeile bestimmt werden. Für c und n müssen die gewünschten Werte im Variablenfeld von Rechner.php eingetragen werden. Die Zahl 1 kann als 1. Näherungswert für x gewählt werden.

x = ((n-1)*x+c/(x^(n-1)))/n; x = ((n-1)*x+c/(x^(n-1)))/n; x = ((n-1)*x+c/(x^(n-1)))/n; x = ((n-1)*x+c/(x^(n-1)))/n; x = ((n-1)*x+c/(x^(n-1)))/n; x = ((n-1)*x+c/(x^(n-1)))/n; x = ((n-1)*x+c/(x^(n-1)))/n; x = ((n-1)*x+c/(x^(n-1)))/n

Für höhere Genauigkeit sollte „=“ mehrfach angeklickt werden!

An die oben gegebene Formel zur iterativen Ermittlung von  soll nun noch auf eine etwas andere Art herangeführt werden. Es wird wieder von einem Schätzwert x1 ausgegangen. Der zugehörende Fehler f wird mit der Gleichung (f + x)n = c ermittelt.

(x+ f )n = x1 + n · f·x1n -1 + n ·(n-1) / 2 · f2 · x1n -2 + n ·(n-1) · (n-2) / 6 · f3 · x1n -3......

Wird vorausgesetzt, das f klein ist, dann können zur Ermittlung eines besseren Näherungswertes die Glieder mit den Potenzen xp (p>1) vernachlässigt werden.

x1 + n · f·x1n -1  c → f ≈ (c - x1n) / ( n · x1n -1 )

Einen besserer Wert für c ist x2 = x1 +  (c - x1n) / ( n · x1n -1 ) = [(n-1)· x1 + c / x1 (n-1)] / n