MuPAD Education Group: Kostenlose Materialen für MuPAD Pro:
www.sciface.com/education, schule.mupad.de, studium.mupad.de, mupad.zum.de.

________________________________________________________________________________

 

Inhalt....: Darstellung iterierter Funktionen

Kategorie.: Arbeitsblatt

Mathematik: Analysis, Numerik

MuPAD.....: 3.0.0

Datum.....: 2003-06-23

Autoren...: Kai Gehrs <acrowley@mupad.de>

Funktionen: plot, plot::Function2d, plot::line

________________________________________________________________________________

 

Darstellung iterierter Funktionen

 

Iterationsverfahren spielen nicht nur in der Numerik, sondern auch in der Analysis eine wichtige

Rolle. In diesem Arbeitsblatt wird eine Prozedur vorgestellt, die es erlaubt, die Iteration von

Funktionen zu visualisieren. Dank gebührt an dieser Stelle OStR Stephan Neuhann vom

städtischen Gymnasium in Wermelskirchen, der eine Vorlage für dieses Arbeitsblatt

lieferte.

 

In diesem Arbeitsblatt lernen wir eine Prozedur kennen, die es erlaubt iterierte

Funktionen darzustellen: Wir wählen als Startpunkt eine reelle Zahl x0 und eine

Funktionsgleichung f(x).

 

Dann betrachten wir die Folge der reellen Zahlen f(x0), f(f(x0)), f(f(f(x0)))

etc. und versuchen über grafische Visualisierung des Verfahrens etwas über ein

mögliches Konvergenzverhalten der Iteration herauszufinden.

 

Ein solches Iterationsverfahren, bei dem man eine Funktion wieder und wieder

auf "sich selbst" anwendet, kann man grafisch recht gut wie folgt visualisieren:

Man zeichnet die Winkelhalbierende y = x  zusammen mit der Funktion f in

ein gemeinsames Koordinatensystem. Die Iteration startet an der Stelle x0

Der erste Wert der Folge, die wir berechnen, ist dann f(x0). Um diesen Schritt

zu visualisieren, zeichnen wir eine senkrechte Linie vom Startpunkt (x0|x0) zum

Punkt (x0|f(x0)). Im nächsten Schritt berechnen wir f(f(x0)) und interpre-

tieren damit den zuletzt berechneten Funktionswert f(x0) wieder als Argument,

auf das wir f erneut anwenden. Zur Visualisierung zeichnen wir daher zunächst

eine waagerechte Linie vom Punkt (x0|f(x0)) hin zum Punkt (f(x0)|f(x0)).

Letzterer Punkt liegt dann genau auf der Winkelhalbierenden y = x.

Von dort aus können wir dann wieder eine waagerechte Linie hin zum Punkt

(f(x0)|f(f(x0))) zeichnen. Bei allen weiteren Iterationsschritten verfahren

wir analog, so dass sich Bilder der folgenden Gestalt ergeben:

 

image

Im obigen Bild sieht man schön: Der "Fixpunkt", auf den die dargestellte

Iteration hinauszulaufen scheint, ist genau der Schnittpunkt zwischen der

in blauer Farbe dargestellten Funktion und der in grüner Farbe darge-

stellten Winkelhalbierenden y = x.

 

Nun zu der Prozedur, die solche Darstellungen für uns anfertigen wird:

 

Sie ist in der MuPAD plot-Bibliothek enthalten und heißt  plot::Iteration.

Sie erhält standardmäßig vier Argumente:

 

f: Die zu iterierende Funktion f

 

Startpunkt: Der Startpunkt für die Iteration.

 

n: Die Anzahl von Iterationsschritten.

 

Intervall: Das Darstellungsintervall für die Funktion f.

 

Mit Hilfe des folgenden Aufrufs können wir dann das Bild erzeugen, das

wir schon oben gesehen haben:

 

Winkelhalbierende:= plot::Function2d(x, x = 0..1, Color = RGB::DarkGreen):

Funktion:= plot::Function2d(3 * x * (1 - x), x = 0..1):

Iteration:= plot::Iteration(3 * x * (1 - x), 0.2, 20, x = 0..1):

plot(Winkelhalbierende, Funktion, Iteration)

MuPAD graphics

 

Wir erhöhen die Anzahl der Iterationsschritte auf 50:

 

Iteration:= plot::Iteration(3 * x * (1 - x), 0.2, 50, x = 0..1):

plot(Winkelhalbierende, Funktion, Iteration)

MuPAD graphics

 

Ebenso können wir natürlich auch den Startpunkt modifizieren:

 

Iteration:= plot::Iteration(3 * x * (1 - x), 0.8, 50, x = 0..1):

plot(Winkelhalbierende, Funktion, Iteration)

MuPAD graphics

 

Wie wir sehen, scheint eine Veränderung des Startpunktes wenig Einfluss

auf das endgültige Verhalten der Iteration zu haben. Auch wenn wir 0.8 als

Startpunkt wählen, bewegt sich die Iteration auf den gleichen Fixpunkt zu.

 

Wir betrachten daher zum Abschluss noch eine andere Funktion, die Funktion

f(x) = 2 * sin(x). Als Startpunkt für unsere Iteration wählen wir die Stelle x0 =

0.5 und die Anzahl von Iterationen setzen wir auf den Wert n = 30. Als Dar-

stellungsintervall wählen wir 0..PI:

 

Winkelhalbierende:= plot::Function2d(x, x = 0..PI, Color = RGB::DarkGreen):

Funktion:= plot::Function2d(2 * sin(x), x = 0..PI):

Iteration:= plot::Iteration(2 * sin(x), 0.5, 30, x = 0..PI):

plot(Winkelhalbierende, Funktion, Iteration)

MuPAD graphics

 

Wie auf einer unsichtbaren Treppe bewegen sich die Werte der Iteration

auf den Schnittpunkt zwischen f(x) = 2 * sin(x) und der Ursprungsgerade

y = x zu. Wir erhöhen den Faktor vor sin(x) von 2 auf 3:

 

Funktion:= plot::Function2d(3 * sin(x), x = 0..PI):

Iteration:= plot::Iteration(3 * sin(x), 0.5, 30, x = 0..PI):

plot(Winkelhalbierende, Funktion, Iteration)

MuPAD graphics

 

In diesem Fall scheint sich unsere Iteration jedoch ganz und gar nicht um

einen festen Wert stabilisieren zu wollen. Wir erhöhen die Anzahl von

Iterationsschritten von 30 auf 100:

 

Iteration:= plot::Iteration(3 * sin(x), 0.5, 100, x = 0..PI):

plot(Winkelhalbierende, Funktion, Iteration)

MuPAD graphics

und von 100 auf 250:

 

Iteration:= plot::Iteration(3 * sin(x), 0.5, 250, x = 0..PI):

plot(Winkelhalbierende, Funktion, Iteration)

MuPAD graphics

 

Mit zunehmender Anzahl von Iterationsschritten scheint sich doch allmählig

das "Spinnennetz der Iteration" enger um den Schnittpunkt zwischen der

Funktion f(x) =  3 * sin(x) und der Winkelhalbierenden zu wickeln.

Der Grafik ist jedoch nicht wirklich anzusehen, ob die Iteration gegen einen

festen Wert konvergiert.

 

Eine Möglichkeit, wie man genauer beurteilen kann, ob das Verfahren kon-

vergiert, besteht einfach darin, den Startpunkt näher bei dem Punkt zu wählen,

von dem glauben, dass er ein Fixpunkt der Iteration sein könnte. Wir vermuten,

dass sich die berechneten Werte dem Schnittpunkt zwischen 3 * sin(x)

und der Winkelhalbierenden nähern. An der Grafik lesen wir ab, dass dieser

Punkt eine x-Koordinate von ungefähr 2.5 hat. Wir wählen also als Startpunkt

2.1 und verringern die Anzahl von Iterationsschritten zunächst wieder auf 30:  

 

Iteration:= plot::Iteration(3 * sin(x), 2.1, 30, x = 0..PI):

plot(Winkelhalbierende, Funktion, Iteration)

MuPAD graphics

Verwenden wir wieder 100 Iterationsschritte, so erhalten wir praktisch die

gleiche Grafik wie oben:

 

Iteration:= plot::Iteration(3 * sin(x), 2.1, 100, x = 0..PI):

plot(Winkelhalbierende, Funktion, Iteration)

MuPAD graphics

 

Es scheint also so zu sein, dass sich die während der Iteration berechneten

Werte doch sehr stark vom gewählten Startpunkt x0 = 2.1 entfernen. Dies

ist ein Indiz dafür, dass die Iteration nicht gegen einen Fixpunkt zu konvergieren

scheint.

 

________________________________________________________________________________

 

Anmerkungen:

1.  Wir danken OStR Stephan Neuhann vom städtischen Gymnasium in Wermelskirchen

     für die Anregungen zu diesem Notebook.

 

2.  Weitere Anregungen finden Sie in der Buchreihe Mathematik 1 x anders. In dieser Reihe

     wird eine Vielzahl unterschiedlichster mathematischer Probleme mit MuPAD gelöst. Die

     Bücher können unter www.schule.mupad.de/literatur kostenfrei kopiert werden.

 

_______________________________________________________________________________

 

 

 

 

 

MuPAD Education Group: Kostenlose Materialen für MuPAD Pro:
www.sciface.com/education, schule.mupad.de, studium.mupad.de, mupad.zum.de.