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 dem wahren Wert x näher als x1.
Beispiel: Die Lösung von x5 = 32 ist x = 2.
Intervalle [x1 ; 32 / x14] zu den Näherungswerten x1 = 1,7; 1,8 und 1,9: [ 1,7 ; 3,83], [ 1,8 ; 3,04] , [ 1,9 ; 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
Diese Annäherung wird fortgesetzt mit x3 = (4 · x2+ c/x24 )/5 und dann mit x4 = (4 · x3+ c/x34 )/5 ….
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 Mittelwertbildung nach
x2 = [(n-1) · x1+ c/x1(n-1)] /n durchgeführt.
In Rechner.html kann die n.Wurzel aus c mit der folgenden Programmzeile bestimmt 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!
Für c und n müssen die gewünschten Werte im Variablenfeld von Rechner.html eingetragen werden. Die Zahl 1 kann als 1. Näherungswert für x gewählt werden.
An
die oben gegebene Formel zur iterativen Ermittlung von
kann
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 + x1 )n
=
c ermittelt.
(x1 + f )n = x1n + 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 f p (p>1) vernachlässigt werden.
x1n + n · f·x1n -1 ≈ c → f ≈ (c - x1n) / ( n · x1n -1 )
Einen besserer Wert für √c ist x2 = x1 + f = x1 + (c - x1n) / ( n · x1n -1 ) = [ n · x1n + (c - x1n)] / ( n · x1n -1 )
= [ (n -1)· x1n + c ] / ( n · x1n -1 ) = [(n-1)· x1 + c / x1 (n-1)] / n