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.

Mit  dem  folgenden   Programm  wird  die  n.  Wurzel  aus  einer  Zahl  c  bestimmt.  Die Rechnung wird   dann   abgebrochen,  wenn  der  Unterschied  f  zweier   aufeinander  folgender  Werte  kleiner als 0.00000001 ist.

Bevor das Programm  mit einem Doppelklick auf „Wiederhole bis....“  gestartet wird, müssen die in der ersten Zeile festgelegten  Anfangsbedingungen dem Rechner durch einen Doppelklick auf  „|n|c|x|f|=....“ mitgeteilt werden.

Zur Ausführung des Programms ist nach der Eingabe von „31“ und „START“ möglich.

                   

|n|c|x|f|=|5|7|1|1|

 

Wiederhole bis f<0.00000001

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

f=abs(x-b)

b=x

? x =

?b

?

zurück

 

Das Fragezeichen in Verbindung mit einem anderen Zeichen ist ein Druckbefehl (Ausgabe im Rechenfenster). Wenn hinter dem Fragezeichen mehr als ein Zeichen (z.B. x= ) steht, dann werden diese Zeichen angezeigt. Steht nur ein Buchstabe hinter „? “, dann wird dieser Buchstabe als Variable angesehen und es wird die zugeordnete Zahl ausgedruckt. Das Fragezeichen allein ist ein Befehl zum Zeilenwechsel.



Die Iteration kann sehr schnell mit dem hier verfügbaren Online - Rechenprogramm  durchgeführt werden. x= ((a-1)*x+c/x^(a-1))/a wird in das Rechenfenster eingetragen (kopieren/einfügen!). Der Wert für a und der zunächst für x geschätzte, in die Gleichung xa = c  passende Wert werden in die Eingabezeilen für a und x geschrieben. Nach Anklicken des Gleichheitszeichens erscheint ein besserer Näherungswert für x, nach dem zweiten Anklicken des Gleichheitszeichens ein noch besserer usw..