Frage von DepravedGirl, 22

Wie kann man jemanden am einfachsten erklären, was eine Iteration ist, wenn derjenige das nicht weiß?

Es geht darum eine Gleichung per Iteration zu lösen.

Wie würdet ihr das am besten jemandem erklären, der nicht weiß, was das ist ?

P.S. -->

Ich weiß es :-)), finde es aber lästig, das zu erklären :-))

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von hypergerd, Community-Experte für Mathematik, 17

Iteration ist bei Wikipedia gut beschrieben:"...beschreibt allgemein einen Prozess mehrfachen Wiederholens gleicher oder ähnlicher Handlungen zur Annäherung an eine Lösung oder ein bestimmtes Ziel."   

(oft zur Optimierung für immer bessere Lösungen)

Die Iteration besteht aus 3 Teilen:

1. Initialisierung aller Anfangszustände (Startwerte festlegen)

2. mehrfaches Wiederholen einer Handlung (Prozedur, Funktion,...)

3. Abbruchbedingung (definiertes Ende)

In der Mathematik und Informatik nutzt man Feldvariablen (engl. Array) um ein bestimmtes Glied einer Folge mit dem Index (Laufvariable) i anzusprechen.Bis auf wenige Ausnahmen (z.B. veraltete BASIC-Programme) beginnt das Array meist mit Index 0. Alte Bücher hatten den Index (Ziffer oder Variable) tiefergestellt an eine Variable heran geschrieben. Eindeutiger ist jedoch die Klammer-Schreibweise,so wie sie in fast allen Programmiersprachen genutzt wird.Die Handlung: 

"Funktionswert berechnet sich aus dem Doppelten seines Vorgängers" sieht dann so aus:

x[i]=x[i-1] *2

Damit der Vorgänger jedoch angesprochen werden kann, muss er zuvor als Anfangszustand initialisiert werden (z.B. x[0]=1) Je nach Index-Beginn muss die sich ständig wiederholende Iterations-Formel angepasst werden. Beginnt i bei 0, so verschiebt sich alles innerhalb der Klammer um 1: 

x[i+1]=x[i] *2

Der Iterationsrechner zeigt das mit über 100 Beispielen. Statt x[...] lautet die Array-Variable aB[...] (1. Spalte; aC für 2. Spalte aD = 3. Spalte)

http://www.gerdlamprecht.de/Roemisch_JAVA.htm

Viele wie Joochen denken bei Iterationen nur an: 

a) selbstkorrigierende Iteration mit festem Grenzwert & groben Startwert (Newton-Verfahren; Bisektion; Beispiele 2,4,6,118... )

Dabei gibt es noch andere Arten von Iteration:

b) fester Grenzwert aber absolut abh. vom Startwert (hier reicht kein Näherungswert!) Beispiel 74

Dieser schnelle Pi-Algorithmus hat schon nach 4 Iterationen 74 richtige Nachkommastellen. Ändert man beim Startwert 1.0005 die 16. Nachkommastelle, so ist auch beim Endergebnis die 16. Stelle eine andere.

c) divergente Folgen (oft mit interessanten/wichtigen Zwischenwerten (Funktionswerten/Folgegliedern) Fibonacci,PrimzahlenBeispiele 7,8,17,28,46,47,...

d) periodisch schwankende Folgen (n gleiche Folgeglieder; gewollt und/oder ungewollt)aB[i]=i%5; ergibt die Folge 0,1,2,3,4,0,1,2,3,4,... ( % steht für Modulo=Divisionsrest)

e) chaotische Folgen (Fraktale; Feigenbaum,Zufallsgeneratoren Beispiele 19,26,69,90,...)

f) plötzlich abbrechende Folgen (wie trunkierbare Primzahlen: die Randbedingungen dieser komplizierten Folge sind so einschränkend,dass es ab einen bestimmten Index einfach keine Folgeglieder mehr gibt. Die Abbruchbedingung besteht hier nicht nur aus einer Index-Obergrenze,sondern auch aus Randbedingungen)

Mischformen aus e) mit Grenzwert niedriger Genauigkeit a) Beispiele 10, 112, 

Auch verschachtelte Iterationen, wo innerhalb einer Iteration eine weitere wie eine Funktion aufgerufen wird Beispiele 61,87,...

Kommentar von DepravedGirl ,

Recht herzlichen Dank für deine ausgezeichnete Antwort !

Antwort
von ProfFrink, 20

Wenn man z.B. nicht weiss wie man schriftlich dividiert, dann ist man auf Gedeih und Verderb darauf angewiesen eine Divisionsaufgabe durch Iteration zu lösen.

Beispiel 10:7

Das Ergebnis ist gößer als 1 aber kleiner als 2. Die Mitte liegt bei 1,5. Im ersten Iterationsschritt schaut man nun, ob

        7*1,5 = 10,5

größer oder kleiner ist als 10. Es ist größer. Dann muß der Divisor kleiner als 1,5 gewählt werde. Nehmen wir 1,2

        7*1,2 = 8,4 

Oh, viel zu klein. Also doch wieder größer als 1,2 aber nicht 1,5

       7*1,4 = 9,8

Aah, wie interessant. Also 1,4 war immer noch nicht groß genug, aber 1,5 wäre schon zu groß. Wir eröffnen, die zweite Nachkommastelle, um die Mitte zu treffen.

       7*1,45 = 10,15

Ein Tacken zu groß. Also muß der Divisor wieder einen Tick kleiner gewählt werden, aber nicht unter 1,4

        7*1,42 = 9,94

Ein bisschen höher, bitte

        7*1,44 = 10,08

Nun, aber: 1,43

         7*1,43 = 10,01

Fast ein Volltreffer. Einen Tick tiefer, aber nicht 1,42. Heisst dritte Stelle eröffnen.

        7*1,425 = 9,975


Siehst Du, das ist eine Iteration. Nach 8 Iterationsschritten hat man schon zwei Nachkommastellen gewonnen. Natürlich ist das nicht sehr elegant, um eine Divisionsaufgabe zu lösen. Aber es gibt in Naturwissenschaft und Technik genügend mathematische Aufgaben, die nur durch Iteration gelöst werden können.

Ein anderes Beispiel. Wieviel groß ist das Kapital von € 1000,- nach drei Jahren angewachsen, wenn der Zinssatz 5% beträgt. Wer die Potenzrechnung nicht beherrscht, muss das iterativ lösen.

Nach einem Jahr  € 1000,- *1,05 =  € 1050,-

Nach zwei Jahren € 1050,- * 1,05 = € 1102,50

Nach drei Jahren € 1102,50 * 1,05 = € 1157,63

Auch das ist eine Iterationsrechnung.


Kommentar von DepravedGirl ,

Recht herzlichen Dank für deine Antwort !

Kommentar von hypergerd ,

Schönes Beispiel, was man Bisektion nennt und der Iterationsrechner im Beispiel 2 online vorrechnet:

http://www.gerdlamprecht.de/Roemisch_JAVA.htm#ZZZZZ0002

Fx(x): ändern nach 10/x-7

Iterationsformel vorn anhängen: aB[i]=c;

ergibt die Zahlenfolge:

1.5, 1.25, 1.375, 1.4375, 1.40625, 1.421875, 1.4296875, 1.42578125, 1.427734375, 1.4287109375, ...

Natürlich ist in Fx die Division enthalten. Habe auch nur auf die Schnelle eine 0-Funktion gebastelt, die das gewünschte Ergebnis liefert. 

ABER bei extrem großen Zahlen (so ab 1 Mio. Stellen) ist eine optimierte Mul-Iteration tatsächlich schneller als die bekannte Division!!

Kommentar von ProfFrink ,

Das finde ich interessant und habe ich nicht gewusst!

Expertenantwort
von Suboptimierer, Community-Experte für Mathe & Mathematik, 22

Eine Iteration ist eine Schleife über indizierte Objekte.

So würde ich glaube ich anfangen. Jedem Element einer Menge wird eine Nummer fortlaufend aufsteigend zugeordnet.

Die Schleife hat einen Laufindex. Das ist die zugeordnete Nummer. Mit jeden Durchlauf der Schleife wird das Element mit der aktuellen Nummer aus der Menge herangezogen.

Als Beispiel in der Mathematik würde ich eine einfache Reihen bringen und auch rekursive Bildungsvorschriften von Folgen behandeln.

Kennt sich derjenige schon ein bisschen mit dem Programmieren aus, würde ich typische Schleifenkonstrukte aus der Informatik (kopf-, fußgesteuert, Rekursionen,...) bringen.

Kommentar von DepravedGirl ,

Vielen Dank für deine Antwort !

Kommentar von Suboptimierer ,

Bitteschön!

Wichtig: Immer viele Beispiele und / oder Aufgaben. (Bsp.: "Schreibe 1 + 3 + 5 + 7 + ... mit Summenzeichen.")

Kommentar von DepravedGirl ,

Ok

Antwort
von Joochen, 16

Man beginnt mit einer geschätzten Lösung

.Die verwendet man, um damit eine bessere Lösung zu finden.

Mit ihr verfährt man erneut so, bis man mit der Lösung zufrieden ist,

Die Schritte in diesem schrittweisen Verfahren nennt man Iterationen (das Wort kommt aus dem Lateinischen),

Kommentar von DepravedGirl ,

Vielen Dank für deine Antwort !

Keine passende Antwort gefunden?

Fragen Sie die Community