Feigenbaumdiagramm

Der geordnete Weg ins Chaos

Zurück zur Homepage
Download der Feigenbaum-Seiten

J. Bentele und
J. Theofel, Gymnasium Unterrieden, Sindelfingen

Inhalt:

  1. Vorwort
  2. Die Idee der Iteration
  3. Graphische Iteration und Analyse
  4. Logistische Funktion
  5. Feigenbaumdiagramm
  6. Periodenverdoppelungsroute ins Chaos
  7. Fenster im Chaos
  8. Weitere Feigenbaumdiagramme
  9. Nachwort
  10. Literaturverzeichnis

1. Vorwort

In diesem Projekt haben wir die Programmierung und die mathematische Analyse des Feigenbaumdiagramms behandelt. Es wurde in einer Gruppe von Schülern, die einfache Programmierkentnisse vorweisen konnten, in einem Schulhalbjahr mit jeweils zwei Wochenstunden durchgeführt.

In den Programmen wird grundsätzlich ein Coprozessor verwendet. Wenn Sie an Rechnern ohne Coprozessor arbeiten, sollten Sie die Compileroption {$N+} einfach entfernen und nicht mit Hilfe von {$N+,E+} einen Coprozessor emulieren, da sich dies nachteilig auf die Geschwindigkeit beim Programmablauf auswirkt. Des Weiteren sollten Sie bei schnellen Rechnern (ab 486) statt dem Datenentyp real den genaueren extended verwenden.
Die Programme sind alle so ausgelegt, daß sie mit verschiedenen Grafiktreibern laufen, da statt von einer konstanten Bildschirmgröße auszugehen die Werte mit GetMaxX und GetMaxY ausgelesen werden. Sie können Ihre Grafikkarte direkt unterstützen, indem Sie statt gt:=detect z.B. eingeben: gt:=9; gm:=2. (Dieses Beispiel ist VGA mit 640x480 Pixeln in 16 Farben). Allerdings müssen Sie auf jeden Fall Überprüfen, ob die Pfadangabe zu den Grafiktreibern stimmt. (In den Listings ist sie auf c: \bp\bgi gesetzt, gegebenenfalls also ändern.)

Index



2. Die Idee der Iteration

Die Iteration ist eine einfache mathematische Idee: Nehmen wir an, wir haben die Formel:
f(x)=2*x
Normalerweise wird nun für verschiedene x-Werte der Funktionswert berechnet. Wenn wir diese Formel nun aber iterativ behandeln wollen, setzen wir einen Startwert x0 ein, rechnen den Funktionswert aus, setzen diesen wieder ein, ...
Beispiel:
x0=2
x1=f(x0)=4
x2=f(x1)=f(f(x0))=8
x3=f(x2)=f(f(x1))=f(f(f(x0)))=16
Mit f n bezeichnet man die n-te Iterierte von f, z.B.: ist f 2(x)=f(f(x))
Eine andere Schreibweise ist: xn+1 = 2*xn
Im Programm werden Iterationen mit einen einfachen For-Schleifen berechnet:

Listing 1: Iterationsfolge 1 (ITER1.PAS) Bildschirmausgabe von ITER1.PAS:
program Iteration1;

{$N+}

var
   x : real;
   z : byte;

begin
   x:=2;
   for z:=1 to 10 do
   begin
       x:=2*x;
       writeln(x:10:0);
   end;
   readln;
end.
4
8
16
32
64
128
256
512
1024
2048

In diesem Beispiel ist leicht zu erkennen, daß der Wert von xn für ebenfalls gegen unendlich strebt:
Es gibt aber auch Beispiele, bei denen die Iterationsfolge gegen einen festen Wert strebt:
f(x) =
In diesem Fall gilt:

lim f n(x)=1

Diese Iterationsfolge kann durch geringe Änderungen im obigen Programm angezeigt werden:

Listing 2 : Iterationfolge 2 (ITER2.PAS) Bildschirmausgabe von ITER2.PAS:
program Iteration2;

{$N+}

var
  x : extended;
  z : byte;

begin
  x:=2;
  for z:=1 to 24 do
    begin
    x:=sqrt(x);
    writeln(x:10:7);
    end;
  readln;
end.
1.4142136
1.1892071
1.0905077
1.0442738
1.0218971
1.0108893
1.0054299
1.0027113
1.0013547
1.0006771
1.0003385
1.0001692
1.0000846
1.0000423
1.0000212
1.0000106
1.0000053
1.0000026
1.0000013
1.0000007
1.0000003
1.0000002
1.0000001
1.0000000

Weitere Beispiele für Iterationen, die gegen eine feste Zahl konvergieren, stellen die Formeln für beschränktes Wachstum dar! Es gibt jedoch auch Fälle, in denen die Werte für f(x) sich ständig wiederholen. Das einfachste Beispiel hierfür ist:

f(x) = 1/x

Index



3. Graphische Iteration und Analyse

Zur späteren Analyse des Feigenbaumdiagramms ist die Kenntnis des Kontraktionssatzes nötig. Wir wollen ihn hier nicht beweisen. Statt dessen soll ein Programm vorgestellt werden, mit dem die Schüler experimentieren können, um so selbst zu der Erkenntnis dieses Satzes zu kommen. Dabei wird die Iteration durch einen Streckenzug so veranschaulicht: Man startet mit einem Wert auf der x-Achse, zeichnet die Parallele zur y-Achse durch diese Stelle auf der x-Achse. Sie schneidet die Kurve in einem Punkt. Von diesem Schnittpunkt zeichnet man die Parallele zur x-Achse bis zur 1. Winkelhalbierenden. Von dort wieder eine Parallele bis zur Kurve u.s.w. ... Ein Blick auf die Diagramme zeigt, ob die Iterationsfolge gegen einen Fixpunkt konvergiert oder von einem Fixpunkt wegläuft. Ein Fixpunkt ist graphisch ein Schnittpunkt der Kurve mit der 1. Winkelhalbierenden.
Bei der Ausführung dieses Programms gibt es zwei verschiedene Arten von Fixpunkten zu entdecken, deren Grafiken so aussehen können:

anziehender Fixpunkt: abstoßender Fixpunkt:
m = -0,8 / c = 8 m = 1,5 / c = -4

Diese Iterationsspiralen oder - treppen können mit dem nachfolgenden Programm auf dem Bildschirm betrachtet werden. Es wird dabei das 1. Feld des Koordinatensystems in x-Richtung von 0 bis 10 und in y-Richtung ebenfalls von 0 bis 10 auf dem Bildschirm angezeigt. Die vom Benutzer ausgewählten Geraden sollten möglichst in diesem Bereich verlaufen.
Zur Umrechnung zwischen den mathematischen Koordinaten und den Bildschirmkoordinaten siehe die üblichen Informatik-Lehrbücher wie z.B. [2], S.72 f.

Listing 3 : Grafische Analyse mit Geraden (GAGERADE.PAS)

Dieses Programm kann man auch mit Parabeln statt Geraden ausführen.Wir wählen die logistische Parabel mit der Gleichung f(x)= a*x(1-x) = ax-ax2. Im folgenden Programm führen wir nur noch die Teile auf , die sich im Vergleich zum vorigen geändert haben. Am Anfang sollte die Parabel nur für Parameterwerte a von 0 bis 3 untersucht werden. Wenn man das Feigenbaumdiagramm besprochen hat , kann man das überraschend unterschiedliche Verhalten der Iterationsfolgen auch mit diesem Programm für a > 3 demonstrieren.

Listing 4 : Grafische Analyse mit der logistischen Parabel (GA_PARAB.PAS)

Dabei entstehen dann z.B. folgende Grafiken:

Nach mehreren Experimenten entdeckt man schnell, daß folgende Sätze gelten:
Ein Fixpunkt x der Funktion f ist anziehend, wenn gilt:

| f ' (x) | < 1

Er ist dagegen abstoßend, wenn gilt:

| f ' (x) | > 1

Der vollständige Kontraktionssatz lautet: Ist x* Fixpunkt einer stetig differenzierbaren Funktion f und gilt | f ' (x) | < 1, so gibt es eine Umgebung von x*, so daß für jeden beliebigen Startwert x0 aus dieser Umgebung die Rekursionsfolge xn+1 =f(xn) gegen diesen Fixpunkt konvergiert.

Index



4. Die logistische Funktion

Der Belgier Pierre Francois Verhulst (1804-1849) schlug als Modell für die Entwicklung von Populationen die logistische Gleichung vor, die heute in der vereinfachten Form meist folgendermaßen angegeben wird:
xn+1 = a * xn * (1-xn)
Verhulst hatte erkannt, daß das unbeschränkte Wachstum nicht realistisch ist, da Lebensraum, Nahrungsvorräte, Klima - und andere Faktoren das Wachstum begrenzen. Wenn wir davon ausgehen, daß es aus diesen Gründen für das Bevölkerungswachstum ein Maximum gibt, dann ergibt sich folgender Zusammenhang: Der Wachstumsfaktor wird um so kleiner, je näher die Population an das Maximum heranreicht. Eine offensichtliche Abschätzung dafür ist der Term (M-P), die Differenz zwischen der maximalen und aktuellen Bevölkerung. Verhulst postulierte, daß die Wachtumsrate proportional zu dieser Differenz ( auch Sättigungsmanko genannt) sein sollte:
wobei Pn die Population nach n Zeiteinheiten und Pn+1 nach (n+1) Zeiteinheiten angibt. Nach Einführung einer geeigneten Konstanten k ergibt sich die Gleichung:
Lösen wir die Gleichung nach Pn+1 auf, so erhält man die ausführliche Form der Verhulstschen Populationsgleichung:
Wir werden zunächst mit dieser Gleichung arbeiten, da sie anschaulich gedeutet werden kann und mit der Definition des logistischen Wachstums in Klasse 10 Übereinstimmt. Hierzu die entsprechende Formulierung aus dem Klett-Buch, Klasse 10, Seite 51: "Ein Wachstum heißt logistisches Wachstum mit der Schranke S, wenn sich der Bestand B(t) nach t Zeitschritten im nächsten Zeitschritt um k * B(t) * [ S - B(t) ] Ändert, wenn also die Änderungsrate zum Produkt aus Bestand und Sättigungsmanko proportional ist."
Mit einem einfachen Programm können wir verschiedene Iterationsfolgen für die obige Gleichung betrachten. Beispiele aus der Praxis ( s. Klett, Klasse 10, S.50) zeigen, daß k sehr klein gewählt werden muß. Setzt man z. B.
k =
, so verdoppelt sich die Bevölkerung nach der ersten Zeiteinheit. Als zweckmäßig für die weiteren Überlegungen erweist sich k = r / M. Im untenstehenden Programm wählten wir willkürlich als Maximalwert M=1000 und als Anfangsbestand
P0 = 50. Die Iterationfolge sieht für r=1 (gerundete Werte) so aus :

P0 =50,
P1=98,
P2=185,
P3=337,
P4=560,
P5=806,
P6=962,
P7=999,
P8=1000,
P9=1000,
P10=1000,...

Diese Ergebnisse sind erwartet worden. Setzt man den Parameter r=1.5, dann erhalten wir vergleichbare Folgenglieder. Bei r=2 kommt es zu einem auffälligen Wechsel. Nach einer kurzen Phase des "Einschwingens" schwanken die Werte zwischen zwei Zahlen hin- und her. Noch deutlicher wird der Zweier-Zyklus für r=2,2. Schüler finden schnell das Räuber-Beute-Modell als Erklärung. Erhöht man den Parameter r jetzt nur noch geringfügig, zeigen sich neue Überraschungen. Die untenstehende Tabelle gibt die dazugehörenden Iterationsfolgen wider:

Listing 5 : Tabelle der logistischen Funktion (LOGISTAB.PAS) n k=1 k=1,5
program Tabelle_logist_Funktion;
{$N+}
uses crt;
var
  i, anz : integer;
  x, k   : extended;
begin
  clrscr;
  writeln('Welche Iterationsgleichung der Art ');
  writeln;
  writeln('p =p+k/1000*(1000-p)*p soll untersucht werden ? ');
  writeln;
  writeln;write('Bitte Koeffizient k (0<k<=3) eingeben : ');readln(k);
  writeln;
  write('Anzahl der Iterationen: ');readln(anz);
  x:=50;
  writeln(0:3,50:16);
  for i:=1 to anz do
    begin
    x:=x+k/1000*(1000-x)*x;
    if i mod 20=0 then readln;
    writeln(i:3, x:16:0);
    end;
  readln;
end.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
50
98
185
337
560
806
962
999
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
50
121
281
584
949
1022
988
1006
997
1001
999
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000

n k=2,0 k=2,2 k=2,5 k=2,52 k=2,55 k=2,7 k=2,83 k=3,0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
50
145
393
870
1096
885
1088
896
1082
904
1078
910
1074
916
1070
920
1067
924
1065
927
1062
930
1060
933
1058
935
1057
937
1055
939
1054
940
1052
942
1051
944
1050
945
1049
946
1048
50
155
442
984
1018
978
1026
968
1037
953
1052
932
1071
904
1095
866
1121
822
1144
782
1157
757
1162
748
1163
747
1163
746
1163
746
1163
746
1163
746
1163
746
1163
746
1163
746
1163
50
169
519
1143
733
1222
543
1164
688
1225
537
1159
699
1225
536
1158
701
1225
536
1158
701
1225
536
1158
701
1225
536
1158
701
1225
536
1158
701
1225
536
1158
701
1225
536
1158
701
50
 170
 525
1153
 708
1229
 520
1149
 718
1228
 522
1151
 714
1229
 521
1150
 716
1228
 521
1150
715
1229
  521
 1150
  715
 1228
  521
 1150
  715
 1228
  521
 1150
  715
 1228
  521
 1150
  715
 1228
  521
 1150
715
50
171
533
1168
669
1234
499
1136
742
1230
508
1145
721
1234
498
1135
744
1230
509
1146
718
1234
497
1134
746
1229
511
1148
715
1235
496
1133
748
1229
512
1149
712
1235
495
1133
749
50
178
574
1234
454
1124
749
1257
386
1026
955
1071
865
1181
605
1250
406
1057
895
1149
688
1268
352
968
1052
904
1139
712
1266
358
978
1035
936
1097
809
1226
478
1151
681
1268
352
50
184
610
1283
254
791
1259
337
970
1052
897
1159
638
1292
226
721
1290
230
732
1287
241
759
1276
278
846
1215
475
1181
575
1267
311
916
1133
706
1293
219
704
1294
218
701
1294
50
193
659
1333
1
3
12
47
180
622
1327
23
92
342
1017
966
1065
857
1224
401
1121
713
1327
26
101
373
1075
832
1251
308
947
1097
777
1297
142
506
1256
290
908
1158
608

Kurz zusammengefaßt entnehmen wir der Tabelle folgendes:

Für r=1 und r=1,5 strebt die Folge gegen 1000.
Für r=2 und r=2,2 entwickelt sich ein Zweier-Zyklus.
Für r= 2,5 und r= 2,52 entsteht ein Vierer-Zyklus.
Für r=2,55 entwickelt sich ein Achter-Zyklus.
Für r=2,7 ist keine Regelmäßigkeit (=Chaos) erkennbar.
Für r=2,83 entsteht ein Dreier-Zyklus.
Für r=3 ist keine Regelmäßigkeit (=Chaos) erkennbar.

(Für r>2,52 wird das Verhalten deutlicher, wenn die Anzahl der Iterationen noch weiter erhöht wird! Einschwingeffekt!) Wie ist es zu erklären, daß obige Iterationsgleichung in Abhängigkeit von r zu völlig unterschiedlichem Verhalten der Folgen führt?

Wir werden im nächsten Kapitel die Iterationsfolgen der logistischen Funktion für 0<=r<=3 graphisch darstellen und an dem Diagramm weitere Entdeckungen machen.
Um die Anzahl der Rechenoperationen zu reduzieren und dadurch im Computer die Rechengenauigkeit zu erhöhen, werden wir zuerst die obige Iterationsgleichung auf die einfachste Form bringen. Aus Gründen der Vergleichbarkeit verschiedener Wachstumsvorgänge hat schon Verhulst 1845 vorgeschlagen Pn durch den relativen Wert
pn =
zu ersetzen. Aus der Formel

ergibt sich pn = pn + r * pn * ( 1 - pn ). Der Parameter r hat sich dabei nicht verändert. Mit

und a=r+1 erhalten wir die einfachste Form der logistischen Gleichung:

Xn+1 = a * Xn * ( 1 - Xn ).

Genau Herleitung siehe [5], Seite 74. Wegen a=r+1 zeigt sich bei dieser Gleichung das gleiche Verhalten der Iterationsfolgen (wie in unserem obigen Beispiel ) für die um 1 vergrößerten Parameterwerte von r.

Index



5. Feigenbaumdiagramm

Jetzt kommt das Programm, das im Mittelpunkt dieses Artikels stehen soll: Es zeigt das Feigenbaumdiagramm bzw. Ausschnitte davon an.

Listing 6 : Das Feigenbaumdiagramm (FEIGE.PAS)

Es ergibt sich folgendes Diagramm:

Die Entstehung des Diagramms ist relativ einfach zu erklären:
Es handelt sich hierbei um ein Koordinatensystem, bei dem auf der x-Achse die verschiedenen Werte für a abgetragen werden. Über jedem a-Wert werden dann alle Iterationswerte abgetragen, die in dem zu Beginn des Programms gewählten Bereich liegen. Dabei werden allerdings die ersten 200 Iterationswerte nicht angezeigt, da der sog. Einschwingeffekt die klare Darstellung der Periodenverdoppelung überlagern und unkenntlich machen würde.

In diesem Feigenbaumdiagramm sehen wir einige charakteristische Merkmale. Sie sind im obigen Bild mit Nummern markiert.

  1. Bifurkationsstellen: Hier teilt sich das Diagramm von einem in zwei "Fixpunktstränge". (Zur Berechnung siehe Kap. 6)
  2. Verschmelzungspunkte
  3. Bänder: Im Chaos verlaufen Bänder; sie schneiden sich in den Verschmelzungspunkten.
  4. Fenster: Hier ist das Chaos durch ein Fenster der Ordnung 3 unterbrochen. (siehe Kap. 7). Es gibt unendlich viele solcher Fenster im Chaos.
  5. Der Feigenbaumpunkt = 3,5699... . Ab hier beginnt das Chaos im Sinne von nicht mehr vorhersagbarem Verhalten der Iterationsfolgen.
Zunächst zur Bifurkation:
Für Werte a<=1 gibt es einen Fixpunkt, nämlich 0, für 1<a<3 gibt es ebenfalls einen Fixpunkt, der für jedes a durch den Term (1 - 1/a) angegeben werden kann. Bei dem Wert a=3 kommt es zur ersten Periodenverdoppelung.

Der Quotient:

strebt dabei für alle aufeinanderfolgenden Bifurkationsstellen gegen die Feigenbaumkonstante = 4,6692... .
Auf die Bänder im Chaos wollen wir in diesem Artikel nicht näher eingehen. Lesen Sie dazu bitte in der angegebenen Literatur, z.B. in [3]. Nun noch eine genaueres Betrachten der Periodenverdoppelung mit dem obigen Programm. Beim ständigen "Heranzoomen" stellt man fest, daß das Feigenbaumdiagramm selbstähnlich ist:

0<a<4 3<a<3,678
0<y<1 0,2722<y<0,7287
3,45122<a<3,59383 3,54416<a<3.57490
0,594<y<0,4105 0,4636<y<0,5357

Index



6. Die Periodenverdopplungsroute ins Chaos

Grundlage für die rechnerische Untersuchung ist der Kontraktionssatz, der schon im 3. Kapitel anschaulich hergeleitet worden ist. Wir wiederholen und erweitern die Definition der verschiedenen Fixpunkte aus Kapitel 3:

Wir nennen einen Fixpunkt x* anziehend, falls | f ´(x*)| < 1
abstoßend, falls | f ´(x*)| > 1
inndifferent, falls | f ´(x*)| = 1

a) Der anfängliche "Fixpunktstrang"

Eine Iterationsfolge hat einen Fixpunkt, wenn die Gleichung x=f(x) eine Lösung hat.
Aus ax(1-x)=x folgt x1 = 0 oder x2 =1-
Von welchem Typ sind die berechneten Fixpunkte?
Wir untersuchen: f ´(x) = a - 2ax

| f ´(0) | = |a| < 1 falls a<1
| f ´(1- ) | = | -a +2| >1 falls a<1
| f ´(1- ) | = | -a +2| <1 falls 1<a<3

Fazit:

Für 0<a< 1 ist 0 der anziehende Fixpunkt.
Für 1<a<3 strebt die Iterationsfolge gegen 1-

b) Die Bifurkationen

Die bisherigen Fixpunkte sind für a>3 abstoßend.
Ab a>3 trat im Feigenbaum-Diagramm der Zweier-Zyklus auf. Sind x1 und x2 die Werte, zwischen denen die Folge hin - und herpendelt, so läßt sich dies mathematisch so beschreiben:

f(x1) = x2 und f(x2) = x1 bzw. f 2(x1) = x1 und f 2(x2) = x2.
Wir bilden den Funktionsterm der 2.Iterierten:
f 2(x) = a(ax(1-x))(1-ax(1-x)) = a2x + (-a2-a3)x2 + 2a3x3-a3x4
Wir bestimmen die Fixpunkte:
Der Ansatz f 2(x) = x führt auf:
x = a2x + ( -a2-a3)x2+2a3x3-a 3x4 bzw. 0 = (a2-1)x-(a2+a3)x2 +2a3x3-a3x4
Wir kennen glücklicher weise schon 2 Lösungen: x1 = 0, x2 = 1 - .
Division durch (x-0) ergibt: 0 = (a2-1)-(a2+a3)x+2a3x2 -a3x3
Polynomdivision mit (x-(1- )) führt auf die Gleichung:

Daraus folgt:
D>=0 für a>=3
D>=0 für a>=3
Von welchem Typ sind die Fixpunkte?

( f 2)´ (x) = f ´( f(x) ) = f ´( f(x) ) f ´(x) . Wenn x=x*h, dann ist f(x*h )=x*t .
Daraus folgt:
(f 2)´ (x*h ) = f ´(x*t ) f ´(x*h )
= (a-2ax*t )(a-2ax*h )
= -a2 + 2a + 4

Fixpunkte sind anziehend, wenn | -a2 + 2a +4 | < 1 . Dies ist der Fall für 3 < a < 1 +

Nach diesem Muster lassen sich die weiteren Bifurkationsstellen berechnen, wenngleich der Rechenaufwand enorm ansteigt. Die ersten 4 Stellen sind:

3; 1+3,49948; 3,54409...; 3,56441...

Am Schaubild der Iterierten für verschiedene Werte von a läßt sich ein typischer Entstehungsprozeß der Bifurkation sichtbar machen. Betrachtet man die Kurven für Werte von a beim Durchgang durch eine Bifurkationsstelle, dann wird die Steigung der Kurve in dem anziehenden Fixpunkt betragsmäßig größer als 1, dieser Fixpunkt wird abstoßend, während gleichzeitig in der Umgebung des alten Fixpunktes zwei neue anziehende entstehen. Dieses typische Muster der "Heugabelverzweigung", die an jeder Bifurkationsstelle auftritt, ist in der unten stehenden Figur zu sehen.
Dabei wird dem bisherigen Parabelzeichnungsprogramm aus dem 3.Kapitel einfach (in der Prozedur Schaubild_zeichnen) die Verkettung f 2(x) = f( f(x) ) hinzugefügt:

Listing 7 : Ergänzung zu Listing 4 (Kap. 3) (2_ITER.PAS)

Zunächst zeigen wir unten ein vollständiges Bild, danach in drei Ausschnitten die Entstehung zweier anziehender Fixpunkte.

Index



7. Fenster im Chaos

Wie in Kapitel 5 schon dargestellt, ist das Chaos immer wieder durch weiße Streifen, sogenannte Fenster, unterbrochen. Für a3,83 ist ein solches Fenster besonders deutlich erkennbar. Wird der Bereich um diesen Wert im Feigenbaumdiagramm vergrößert (siehe Figur unten), so sehen wir nicht nur drei "Fixpunktstränge", sondern auch Selbstähnlichkeit. Bei jeder Vergrößerung werden neue kleinere Kopien des gesamten Diagramms sichtbar. Im wesentlich kleineren Maßstab können wir das vollständige Szenario von Periodenverdoppelung, Chaos und Bänderspaltung entdecken. (Die folgende Zoomfolge ist der Literaturangabe [4], Seite 191 entnommen.)

1
a: 3,5699 bis 4
0

0,558
a: 3,828 bis 3,857
0,443

0,508
a: 3,8476 bis 3,8498
0,491

Zur Bestimmung des Dreier-Zyklus muß man die Fixpunkte der dreifach iterierten Funktion f 3

f(x*1)=x*2 , f(x*2)=x*3 , f(x*3)=x*1
ermitteln, da
bzw. f 3(x*1)=x*1 , f 3(x*2)=x*2 , f 3(x*3)=x*3
Setzt man den Funktionsterm von f 3 gleich x, also f 3(x)=x, so muß man die Lösungen einer Gleichung 8. Grades bestimmen. Eine ausführliche rechnerische Herleitung findet sich in [1], Seite 552. Eine wesentliche Rolle spielen für die Lösung der Gleichung und für die Berechnung des kritischen Wertes a, bei dem es zur Entstehung des Dreier-Zyklus kommt, folgende Bedingungen:
ax* 1(1-x* 1) = x* 2 , ax* 2(1-x* 2) = x* 3 , ax* 3(1-x* 3) = x* 1 sowie (f 3) ´ (x*) = f ´(x*1) f ´(x*2) f ´(x*3)

Als Ergebnis erhält man den Wert a=1 +(3,83 )
Wir untersuchen die Entstehung dieses Dreier-Zyklus anhand des Schaubildes von f 3. Für verschieden Werte in der Umgebung von 3,83 lassen wir die Schaubilder der dritten iterierten Funktion zeichnen. Dabei stellen wir fest, daß genau für den berechneten Wert 1 + alle drei Extrempunkte der Kurve die erste Winkelhalbierende berühren. Vergrößern wir die Werte für a nur ein wenig, dann sehen wir auf dem Bildschirm, wie aus dem Berührpunkt mit der ersten Winkelhalbierenden zwei neue Schnittpunkte entstehen, von denen einer ein anziehender und der andere ein abstoßender Fixpunkt wird. Diesen Vorgang nennt man Tangentialbifurkation im Gegensatz zur Heugabelbifurkation bei den ersten Fixpunktsträngen, die ins Chaos führen. Die weitere Periodenverdopplung erfolgt allerdings nach dem Prinzip der Heugabelbifurkation, wie man an dem Schaubild von f 6 für a=3,84 und a=3,847 feststellen kann (s. Figur unten!). Es wurde sogar nachgewiesen, daß in jeder Umgebung von a=4 unendlich viele Tangentialbifurkationen auftreten und daß zu jedem nN ein Fenster mit der Zykluslänge n existiert. (siehe [3])

Zuerst wieder die entsprechende Prozedur:
Listing 8 : Ergänzung zu Listing 4 (Kap. 3) (6_ITER.PAS)

Die Periodenverdoppelung verläuft wieder nach dem Muster der Heugabelbifurkation:

Index



8. Weitere Feigenbaumszenarios

Statt der "normalen" logistischen Gleichung für das Feigenbaumdiagramm kann man auch noch die unten aufgeführten Funktionsgleichungen verwenden. (Die Funktionsterme zu den Beispielen sind über dem Bild abgedruckt.) In der Literaturangabe [3] sind die mathematischen Bedingungen für die Funktionen angegeben, damit ihre Iterationsfolgen zu einem Feigenbaumszenario führen. Es ist aber viel sinnvoller, die Schüler zuerst selbst auf Entdeckungsreise zu schicken. Sie müssen in dem Programm aus Kap. 5 nur die logistische Funktion durch eine selbst gefundene oder durch eine der unten angegebenen ersetzen.

f(x)=a*x*(1-x)
f(x)=sin(a*x*(1-x))

f(x)=cos(a*x*(1-x))
f(x)=tan(a*x*(1-x))
f(x)=arctan(a*x*(1-x))
f(x)=a*x*(x-1)
f(x)=sin(a*x*(x-1))
f(x)=cos(a*x*(x-1))
f(x)=tan(a*x*(x-1))
f(x)=arctan(a*x*(x-1))
f(x)=cos(a*x)*sin(a*x)
f(x)=cos(a*x)*(sin(a*x))²
f(x)=(cos(a*x))²*sin(a*x)
f(x)=(cos(a*x))²*(sin(a*x))²
f(x)=cos(a*x)*sin(a*x)*cos(a)
f(x)=cos(a*x)*(sin(a*x))²*cos(a)
f(x)=(cos(a*x))²*sin(a*x)*cos(a)
f(x)=(cos(a*x))²*(sin(a*x))²*cos(a)
f(x)=cos(a*x)*sin(a*x)*cos(x)

f(x)=cos(a*x)*(sin(a*x))²*cos(x)
f(x)=(cos(a*x))²*sin(a*x)*cos(x)
f(x)=(cos(a*x))²*(sin(a*x))²*cos(x)
f(x)=a*x*(x+1)
f(x)=sin(a*x*(x+1))
f(x)=cos(a*x*(x+1))
f(x)=tan(a*x*(x+1))
f(x)=arctan(a*x*(x+1))
f(x)=cos(a)*sin(x)*x
 
f(x)=cos(a)*(sin(x))²*x
f(x)=(cos(a))²*sin(x)*x
f(x)=(cos(a))²*(sin(x))²*x
f(x)=cos(a)*sin(x)*x²
f(x)=cos(a)*(sin(x))²*x²
f(x)=(cos(a))²*sin(x)*x²
f(x)=(cos(a))²*(sin(x))²*x²
f(x)=cos(a)*sin(x)*cos(a*x)
f(x)=cos(a)*(sin(x))²*cos(a*x)
f(x)=(cos(a))²*sin(x)*cos(a*x)
f(x)=(cos(a))²*(sin(x))²*cos(a*x)
f(x)=cos(a)*sin(x)*sin(a*x)
f(x)=cos(a)*(sin(x))²*sin(a*x)
f(x)=(cos(a))²*sin(x)*sin(a*x)
f(x)=(cos(a))²*(sin(x))²*sin(a*x)
f(x)=a*x*exp(a)
f(x)=a*x/exp(a)
f(x)=a*x*exp(a*x)
f(x)=a*x/exp(a*x)
f(x)=a/x/exp(a/x)

f(x)=a/x*exp(a)
f(x)=a/x*exp(a*x)
f(x)=a/x/exp(a/x)
f(x)=x*exp(a)*cos(a)
f(x)=x*exp(a)*cos(a*x)
f(x)=x*exp(x)*cos(a)
f(x)=x*exp(x)*cos(a*x)

f(x)=x*exp(a)*sin(a)
f(x)=x*exp(a*x)*sin(a*x)
f(x)=x*exp(x)*sin(a)
f(x)=x*exp(x)*sin(a*x)
f(x)=x²*sin(a)
f(x)=x²*cos(a)
f(x)=x²*tan(a)
f(x)=x²*sin(a*x)
f(x)=x²*cos(a*x)
f(x)=x²*tan(a*x)
f(x)=a²+sin(x)
f(x)=a²+tan(x)
f(x)=(sin(a*x))²*(cos(a*x))
f(x)=(sin(a*x))²*(cos(a*x))²
f(x)=sin(a*x*sin(a*x)²*cos(a)*x
f(x)=sin(a*x*sin(a*x)²*sin(a)*x
f(x)=lg |x*x*sin(a)|
f(x)=lg |a| / lg |x*x*sin(a)|
f(x)=lg |a*x| / lg |x*x*sin(a)|

f(x)=lg |a/x| / lg |x*x*sin(a)|
f(x)=lg |x/a| / lg |x*x*sin(a)|
f(x)=lg |x*x*cos(a)|
f(x)=lg |a| / lg |x*x*cos(a)|
f(x)=lg |a*x| / lg |x*x*cos(a)|
f(x)=lg |a/x| / lg |x*x*cos(a)|
f(x)=lg |x/a| / lg |x*x*cos(a)|
f(x)=lg |a*x*(1-x)|
f(x)=lg |a| / lg |a*x*(1-x)|
f(x)=lg |x| / lg |a*x*(1-x)|
f(x)=lg |a/x| / lg |a*x*(1-x)|
f(x)=lg |x/a| /lg |a*x*(1-x)|
f(x)=lg |a| * lg |a*x*(1-x)|
f(x)=lg |x| * lg |a*x*(1-x)|
f(x)=lg |a*x| * |a*x*(1-x)|
f(x)=lg |a/x| * lg |a*x*(1-x)|
f(x)=lg |x/a| * lg |a*x*(1-x)|
f(x)=lg a² / lg |a*x*(1-x)|
f(x)=lg |sin a| / lg |a*x*(1-x)|
f(x)=lg |cos a| / lg |a*x*(1-x)|
f(x)=lg |tan a| / lg |a*x*(1-x)|
f(x)=lg |cot a| / lg |a*x*(1-x)|
f(x)=lg a² * lg |a*x*(1-x)|
f(x)=lg |sin a| * lg |a*x*(1-x)|
f(x)=lg |cos a| * lg |a*x*(1-x)|
f(x)=lg |tan a| * lg |a*x*(1-x)|
f(x)=lg |cot a| * lg |a*x*(1-x)|
Sollte es bei der Verwendung dieser Formeln zu Laufzeitfehlern kommen, liegt das daran, daß der Bereich für real (bzw. Extended) überschritten wurde. Eine Abhilfe kann dadurch geschaffen werden, daß der angezeigte Bereich verändert wird.

Index



9. Nachwort

Zum Thema "Chaos und Ordnung" hier noch ein Zitat nach Literaturangabe [4] (S.131):

"In der Wissenschaft hat man Chaos und Ordnung für lange Zeit als Gegensatzpaar angesehen. Für beide Begriffe sind spezielle Untersuchungsmethoden und Theorien entwickelt worden. Naturgesetze wie das Newtonsche Gesetz oder das Keplersche Gesetz zeigen den hohen Stellenwert, den die Ordnung in der Wissenschaft eingenommen hat.
Chaos hingegen wurde als vollkommen andere Seite der Natur verstanden, die durch einfache - und selbst durch komplizierte - Gesetze nicht beschrieben werden kann.
Chaos galt also nicht als ein hoher Grad von Komplexität oder als komplexere Form der Ordnung, sondern als ein Zustand, in dem jegliche Naturgesetze ihre Gültigkeit verlieren. Eine herausfordernde Wirkung hatte jedoch die Beobachtung, daß eine Vielzahl natürlicher Systeme offenbar ohne Schwierigkeit von einem in den anderen Zustand Übergehen können: vom laminaren Fluß in einen turbulenten Fluß, vom regelmäßigen in einen ungleichmäßigen Herzschlag, von Vorhersagbarkeit in Unvorhersagbarkeit.
Eine der großen Überraschungen, die wir bei der Untersuchung des quadratischen Iterators pn+1 = r * pn * (1-pn) erlebt haben, geht auf die Tatsache zurück, daß beide antagonistischen Zustände durch ein einziges Gesetz ausgedrückt werden können. Eine noch größere Überraschung war die Entdeckung, daß es einen wohldefinierten Fahrplan gibt, der uns von einem Zustand - von der Ordnung - in den anderen - ins Chaos - führt. "Fahrplan" bedeutet, daß es abrupte qualitative Änderungen - sog. Verzweigungen - gibt, die den Übergang ins Chaos kennzeichnen."

Index



10. Literaturverzeichnis

[1]Argyris u.a. : Die Erforschung des Chaos, Braunschweig 1994
[1]Argyris u.a. : Die Erforschung des Chaos, Braunschweig 1994
[2]Baumann : Informatik für die Sekundarstufe II, Stuttgart 1992
[3]Dufner : Zum Lösungsverhalten logistischer Gleichungen, MNU-Heft Okt. 1994
[4]Peitgen u.a.: Chaos - Bausteine der Ordnung, Berlin 1992
[5]Peitgen u.a. : Bausteine des Chaos - Fraktale, Berlin 1992
[6]Hermans A.: Chaos im Mathematikunterricht ( PM 2/34 Jg.1992 S.81ff )

Index



© 1997 by J. Bentele

HTML File created by AK mailto:viper@gus.bb.bw.schule.de
Ausgewählte Source Codes zum Feigenbaum

Zurück zur Homepage des Gymnasiums Unterrieden