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 + 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 xp (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 + (c - x1n) / ( n · x1n -1 ) = [(n-1)· x1 + c / x1 (n-1)] / n