30.06.2013 Aufrufe

Aufgaben - atfd

Aufgaben - atfd

Aufgaben - atfd

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Bildentstehung bei Julia-, Mandelbrotmenge und<br />

Newtonfraktal<br />

Inhaltsverzeichnis<br />

Christoph Reinisch<br />

07.06.2011<br />

1 Einleitung 2<br />

2 Juliamenge 5<br />

3 Mandelbrotmenge 10<br />

4 Newtonfraktal 11<br />

1


1 Einleitung<br />

Wahrscheinlich hat jeder schon Bilder von Julia- und Mandelbrotmengen gesehen. Hier werden wir uns<br />

mit der dahinterliegenden Mathematik beschäftigen.<br />

Abbildung 1: Juliamenge mit c=−0.712+0.241i<br />

Wir wiederholen zu Beginn kurz die komplexen Zahlen und die Iteration, außerdem führen wir Funktionen<br />

mit komplexem Argument ein.<br />

1.1 Komplexe Zahlen<br />

Eine kurze Zusammenfassung der Rechenregeln mit komplexen Zahlen:<br />

Benötigte Rechenregeln<br />

Wir verwenden 2 komplexe Zahlen z1 = a+bi und z2 = c+di, dann gelten folgende Rechenregeln:<br />

Addition: z1+ z2 =(a+bi)+(c+di)=(a+c)+(b+d)i (1)<br />

Multiplikation:<br />

Betrag:<br />

(a+bi)·(c+di)=(ac−bd)+(ad+ bc)i<br />

<br />

|z1|= a<br />

(2)<br />

2 + b2 <br />

(3)<br />

Abstand: |z1− z2|= (a−c) 2 +(b−d) 2 (4)<br />

Um davon ein Bild zu bekommen, kann man komplexe Zahlen mit Punkten im 2-dimensionalen kartesischen<br />

Koordinatensystem identifizieren:<br />

Komplexe Zahlenebene<br />

Ist z=a+bi eine komplexe Zahl, dann bezeichnen wir a als Realteil Re(z) von z und b als Imaginärteil<br />

Im(z) von z und identifizieren die x-Achse mit Re(z) und die y-Achse mit Im(z). Die Zahlenebene<br />

bezeichnen wir dann als komplexe oder gaußsche Zahlenebene.<br />

2


Dadurch kann man die Rechenoperationen in C auch geometrisch interpretieren:<br />

• Die Addition entspricht der gewöhnlichen Vektoraddition.<br />

• Die Multiplikation entspricht einer Drehstreckung.<br />

• Die Betragsbildung entspricht dem Abstand vom Nullpunkt<br />

z1<br />

−1<br />

2<br />

1<br />

−1<br />

Im<br />

z ′ 2<br />

z1+z2<br />

z1 z2<br />

z3 = z1+ z2<br />

<br />

z ′<br />

1<br />

z2<br />

1 2 3 4<br />

Re<br />

Abbildung 2: Geometrische Interpretation der Addition<br />

−3<br />

z3 = z1z2<br />

<br />

|z3|=3.5<br />

−2<br />

−1<br />

z1<br />

3<br />

2<br />

1<br />

Im<br />

|z1|=2.2<br />

135 ◦<br />

116.6 ◦<br />

|z2|=1.6<br />

18.4 ◦<br />

z2<br />

Re<br />

1 2<br />

Abbildung 3: Geometrische Interpretation der Multiplikation<br />

Aufgabe 1.1. Multipliziere (1−i)(1+i) und (1+i)(2+2i), und zeichne die Zahlen in die komplexe<br />

Zahlenebene.<br />

1.2 Funktionen mit komplexem Argument<br />

Im Komplexen lässt sich mit Funktionen, zumindest für Polynome, für die wir uns hier interessieren,<br />

genauso rechnen wie in R.<br />

3


Beispiel 1.2. f(z)=z 2 : f(1)=1; f(1−i)=(1−i)(1−i)=−2i<br />

Aufgabe 1.3. Berechne für die Funktion f(z) = z 2 + z die Funktionswerte für z = 1, z = 1+i, z = 2i<br />

und z=1−i!<br />

Auch die Ableitungsregeln bleiben, zumindest für Polynome, dieselben.<br />

1.3 Iteration<br />

Unter einer Iteration versteht man die mehrmalige Anwendung einer Funktion auf das Ergebnis der<br />

letzten Anwendung.<br />

Beispiel 1.4. Newtonverfahren: xn+1 = xn− f(xn) mit f(x) = p(x)<br />

p ′ (x) wobei p(x) eine Polynomfunktion<br />

ist. Dieses Verfahren wird zur Bestimmung von Nullstellen von Funktionen angewendet.<br />

Aufgabe 1.5. Führe die ersten 4 Iterationen des Newtonverfahrens für p(x)=−x 3 +1 mit dem Startwert<br />

x0 = 0.5 aus.<br />

4


2 Juliamenge<br />

Bevor wir definieren, was eine Juliamenge ist, sehen wir uns an, was bei einer einfachen Funktion mit<br />

der Iteration passiert! Öffne dazu GeoGebra!<br />

Aufgabe 2.1. Gegeben ist die Funktion f(z)= z 2 und die Iteration zn+1 = f(zn), also zn+1 = z 2 n .<br />

1. Gib in die Eingabezeile z0 = 0.8+0.1i (Tipp: Gib z_0=0.8+0.1 i ein!) ein. GeoGebra weiß<br />

automatisch, dass du einen Punkt in der komplexen Zahlenebene meinst, wie du der Algebra-<br />

Ansicht entnehmen kannst.<br />

2. Führe die erste Iteration aus. Gib dazu z1 = z2 0 in die Eingabezeile ein. (Tipp: Gib z_1=z_0^2<br />

ein!)<br />

3. Verwende die Werkzeug Verschiebe Zeichenblatt und Vergrößere um ungefähr den Zahlenbereich<br />

[-2,2] auf der reelen Achse (x-Achse) einzustellen.<br />

4. Führe noch 5 weitere Iterationen auf die selbe Weise wie in 2) durch. (Tipp: z2 = z2 1 , . . . )<br />

5. Sieh dir nun die Punkte z0 bis z6 an, was stellst du fest? (Notiere hier!)<br />

6. Verschiebe den Punkt z0. Wie verändert sich die Iteration? Was stellst du fest?<br />

7. Gib in die Eingabezeile x 2 + y 2 = 1 ein. Es erscheint ein Kreis mit Radius 1 - kannst du deine<br />

Vermutung dadurch präzisieren? (Tipp: Stelle dazu z0 auf z.B.: 0.6+0.8i ein.)<br />

8. Speichere die GeoGebra-Datei unter Julia-0-0.ggb<br />

In der letzten Aufgabe haben wir festgestellt, dass die Iteration für Startwerte (z0) innerhalb des Kreises<br />

gegen 0+0i strebt, für Startwerte am Kreis bleiben die Iterierten am Kreis und außerhalb streben sie<br />

gegen Unendlich. Das kann man für diese einfache Funktion auch sehr leicht begründen. Überlege ein<br />

Argument (Tipp: Beträge ansehen!):<br />

Definition 2.2. Der Rand der Menge der Startpunkte, die bei der Iteration einer rationalen Funktion<br />

f(z)= p(z)<br />

q(z)<br />

z ∈ C, p(z) und q(z) Polynomfunktionen ohne gemeinsamen Teiler, nicht gegen Unendlich streben, ist<br />

die Julia-Menge. Die Menge innerhalb (falls vorhanden) und außerhalb der Juliamenge gehören zur<br />

sogenannten Fatou-Menge.<br />

Bemerkung 2.3. In Aufgabe 2.1 gehören somit alle Punkte am Kreis zur Julia-Menge. Die Punkte<br />

innerhalb und außerhalb zur Fatou-Menge.<br />

5


Bemerkung 2.4. Man sagt auch, dass bei Punkten, die in der Fatou-Menge liegen, eine kleine Änderung<br />

des Startwertes zu einem ähnlichen Verhalten der Iteration führt.<br />

Bei Punkten in der Julia-Menge führt hingegen eine kleine Änderung des Startwertes zu einem komplett<br />

anderen Verhalten.<br />

Aufgabe 2.5. Prüfe Bemerkung 2.4 in Julia-0-0.ggb für die einfachste dir bekannte Julia-Menge (Kreis)<br />

nach! Um nur Punkte am Kreis zuzulassen, kannst du Punkt[c] als Wert bei z0 eintragen (Rechtsklick<br />

auf z0 - Eigenschaften), falls der Kreis nicht c heißt, musst du hier den Namen des Kreises verwenden).<br />

Um später wieder einen frei beweglichen Punkt zu haben, trägst du beim Wert wieder eine komplexe<br />

Zahl ein.<br />

Bemerkung 2.6. Die meisten uns bekannten Bilder entstehen aus der Iteration der Funktion<br />

f(z)=z 2 +c, z∈C, c∈C konstant. In Aufgabe 2.1 war c=0. Nur beim Newtonfraktal werden wir hier<br />

eine rationale Funktion vorfinden, bei der q(z) ungleich 1 ist.<br />

Wir werden uns jetzt ansehen, wie die Julia-Menge für andere c∈C aussieht. Zuerst werden wir uns<br />

aber mit der Färbung beschäftigen.<br />

Achtung: Wenn du in GeoGebra die Spur eines Objektes anzeigen lässt, verschwindet diese jedes<br />

mal wenn du die Ansicht aktualisierst (z.B.: Zoomen, Verschieben des Zeichenblattes). Um die Spur<br />

zu sichern, verwendest du am Besten Bearbeiten - Grafik-Ansicht in Zwischenablage. Die Spur wird<br />

auch beim Export in ein Bildformat gespeichert (Datei - Export), allerdings verschwindet die Spur im<br />

Anschluss an den Export.<br />

Aufgabe 2.7. Öffne GeoGebra und blende die Tabellen-Ansicht ein (Ansicht - Tabellenansicht).<br />

1. Gib in die Eingabezeile x2 + y2 = 1 ein.<br />

2. Gib in die Eingabezeile z0 = 0.8+0.1i ein<br />

3. Gib in der Tabellen-Ansicht = z2 0 (=z_0^2) in die Zelle A1 ein, es erscheint ein neuer Punkt mit<br />

dem Namen A1. Dieser entspricht z1 aus Aufgabe 2.1.<br />

4. Gib=A1 2 in die Zelle A2 ein.<br />

5. Markiere die Zelle A2 und ziehe mit der Maus an dem kleinen Quadrat bis Zeile 20. Es werden<br />

alle Zellen bis A20 automatisch ausgefüllt.<br />

6. Blende die Beschriftung der Punkte A11-A20 aus: Markiere die Zellen A11-A20 in der Tabellenansicht,<br />

blende mit Rechtsklick - Eigenschaften die Eigenschaften ein und entferne das Häkchen<br />

bei Beschriftung anzeigen.<br />

7. Wenn z0 außerhalb des Kreises liegt, stehen in den Zellen ab A10 oder A11 Fragezeichen, das<br />

heißt, dass der Wert nicht definiert ist, weil die Zahlen schon zu groß sind. Wir werden diesen<br />

Umstand nützen um für unseren Startwert z0 abhängig vom Verhalten der Iteration eine Farbe<br />

einzustellen.<br />

8. Gib in die Eingabezeile IstDefiniert[A20] ein. Es erscheint ein Objekt a, das angibt, ob<br />

wir nach unserem letzten Iterationsschritt noch einen definierten Wert haben.<br />

9. Klicke mit der rechten Maustaste auf z0 und auf Eigenschaften. Wähle die Registerkarte Erweitert<br />

und gib bei Rot Wenn[a,0,255] und bei Blau Wenn[a,255,0] ein.<br />

10. Schalte die Spur von z0 ein (Rechtsklick - Spur ein)<br />

11. Ziehe den Punkt über den Rand des Kreises. Versuche mit der Spur des Punktes einen kleinen<br />

Bereich am Rand des Kreises auszumalen.<br />

6


12. Blende den Kreis aus, du siehst die Grenze zwischen Rot und Blau kreisförmig vor dir. Genau<br />

diese Grenze ist die Julia-Menge. Die Grenze ist mit der Spur gezeichnet und daher etwas „unscharf“,<br />

du kannst die Punktgröße verringern um eine „genauere“ Grenze zu erhalten, dann dauert<br />

aber leider auch das Einfärben länger. (Rechtsklick auf z0 - Eigenschaften - Darstellung)<br />

13. Speichere die Datei unter dem Namen Julia-Iteration.ggb<br />

Wir wissen jetzt, wie wir abhängig vom Verhalten der Iteration verschiedene Farben für den Startwert<br />

einstellen. Wir werden nun die Funktion f(z)=z 2 um eine Konstante c∈C zu f(z)=z 2 + c erweitern<br />

und beobachten, wie sich die Juliamenge verändert.<br />

Aufgabe 2.8. Falls du die Datei Julia-Iteration.ggb nicht mehr offen hast, öffne sie.<br />

1. Lösche den Kreis.<br />

2. Gib in die Eingabezeile c=−0.712+0.241i ein.<br />

3. Verändere die Zellen A1-A20 so, dass die entstehenden Punkte das Ergebnis der Iteration der<br />

Funktion f(z)= z 2 + c sind.<br />

4. Drücke Strg-F um die alte Spur zu löschen.<br />

5. Schalte unter Einstellungen - Punktfang den Punktfang aus.<br />

6. Bewege wieder den Punkt z0 und versuche die Grenze zwischen rot und blau zu finden. Wenn du<br />

diese Grenze gefunden hast, versuche mit der Spur des Punktes ein Stück der Grenze „auszumalen“.<br />

7. Speichere die Datei.<br />

Du wirst feststellen, dass nun die Grenze kein Kreis mehr ist und man sich durchaus ein fraktales Gebilde<br />

„einbilden“ könnte.<br />

In Abbildung 4 siehst du das Ergebnis meiner Malaktivitäten - dein Ergebnis kann natürlich etwas<br />

anders aussehen.<br />

Abbildung 4: GeoGebra Julia-Fraktal<br />

Bemerkung 2.9. Tatsächlich sind die Julia-Mengen für die Funktion f(z) = z 2 + c, für fast alle c∈C<br />

Fraktale. Die einzigen bekannten Werte für c, für die die Julia-Menge kein Fraktal ist, sind c=0(Kreis)<br />

c=−2.<br />

Aufgabe 2.10. Versuche nun andere Werte für c zu finden, bei denen du einen fraktalen Rand (die Julia-<br />

Menge) finden kannst. Das scheint nicht für alle Werte möglich zu sein. Kannst du eine Bedingung<br />

finden, die für c auf jeden Fall erfüllt sein muss, damit die Iteration nicht gegen Unendlich strebt?<br />

Tipp: Interessante Julia Mengen entstehen z.B. mit c=i, c=−0.123+0.745i (ein Hasen-Fraktal) und<br />

c=−0.75.<br />

7


Wie entstehen aber nun mehr als 2 Farben?<br />

Aufgabe 2.11. Falls du die Datei Julia-Iteration.ggb nicht mehr offen hast, öffne sie.<br />

1. Speichere die Datei unter dem Namen Julia-Faerbung.ggb<br />

2. Gib in die Zelle B1 =abs(A1) ein und fülle die Zellen bis B20 automatisch aus.<br />

3. Markiere die Zellen B1 bis B20 und erzeuge aus den Zahlen eine Liste (Rechtsklick - Liste erzeugen)<br />

4. Gib in die Eingabezeile ZähleWenn[x


Abbildung 5: Julia-Menge mit c=0.5+0.5i<br />

Abbildung 6: Julia-Menge mit c=−0.5+0.5i<br />

9


3 Mandelbrotmenge<br />

Die Mandelbrotmenge wurde nach Benoît Mandelbrot benannt und ist eine fraktal erscheinende Menge.<br />

Abbildung 7: Die Mandelbrotmenge<br />

Definition 3.1. Die Mandelbrotmenge ist die Menge aller c∈C, deren Julia-Menge der Iteration zn+1=<br />

z2 n + c zusammenhängend ist.<br />

Dazu gleichwertig ist folgende Definition:<br />

Definition 3.2. Die Mandelbrotmenge ist die Menge aller c∈C, für welche die Iteration zn+1 = z2 n + c<br />

mit dem Startwert z0 = 0 nicht gegen Unendlich strebt.<br />

Aufgabe 3.3. Mit der zweiten Definition haben wir auch schon eine Idee, wie wir die Färbung der<br />

Mandelbrotmenge in GeoGebra simulieren können.<br />

1. Öffne die Datei Julia-Faerbung.ggb.<br />

2. Speichere die Datei unter dem Namen Mandel-Faerbung.ggb<br />

3. Setze z0 auf 0+0i und schalte die Spur aus.<br />

4. Blende die Punkte A1-A20 aus.<br />

5. Versuche selbst die Farbe des Punktes c in Abhängikeit der Iteration so einzustellen, dass du<br />

anschließend mit eingeschalteter Spur den Umriss der Mandelbrotmenge „malen“ kannst. (Tipp:<br />

Das funktioniert änlich wie in Aufgabe 2.7 beim Punkt z0.)<br />

10


4 Newtonfraktal<br />

Definition 4.1. Newtonfraktale sind Juliamengen, bei der für die Funktion f(z) aus Definition 2.2 die<br />

Newtoniteration für p(z) verwendet wird. Also:<br />

f(z)=z− p(z)<br />

p ′ (z)<br />

Wir wissen, dass wir mit dieser Iteration die Nullstellen von p(z) finden, wenn der Startwert „nahe“<br />

genug bei dieser liegt. Entfernen wir uns von dieser Nullstelle, können wir nicht mit Sicherheit sagen, ob<br />

und gegen welche Nullstelle die Iteration strebt. Abhängig davon, gegen welche Nullstelle die Iteration<br />

strebt, bekommt der Startwert eine andere Farbe. Zusätzlich könnte man wieder einen Farbton abhängig<br />

von der Geschwindigkeit einstellen, mit der der Startwert konvergiert.<br />

Um uns die Farbgebung anzusehen, verwenden wir wieder GeoGebra. Als p(z) verwenden wir 1−z 3 ,<br />

somit ist p ′ (z)=−3z 2 . InRhätten wir die Nullstelle x0= 1, das ist auch gleich die erste komplexe Nullstelle<br />

z1 = 1+0i (Achtung: Hier darfst du z1 nicht mit dem Wert nach der ersten Iteration verwechseln,<br />

das hier ist eine Nullstelle von p(z)). Die weiteren Nullstellen sind dann um 120 ◦ und 240 ◦ weiter am<br />

Einheitskreis also: z2 =−1/2−<br />

√ 3<br />

2 i und z3 =−1/2+<br />

√ 3<br />

2 i.<br />

Aufgabe 4.2. Öffne GeoGebra und blende die Tabellen-Ansicht ein.<br />

1. Gib in A1 z_n , in B1 p(z_n) , in C1 p’(z_n) und in D1 z_n+1 ein.<br />

2. Gib in A2 0.5 + 0.2i ein. Es erscheint der Punkt A2 auf der Zeichenfläche.<br />

3. In B2 gibst du =1 - A2^3 ein. Versuche C2 und D2 selbständig auszufüllen.<br />

(Tipp: p ′ (z)=−3z 2 , GeoGebra weiß, wie man komplexe Zahlen dividiert)<br />

4. D2 wird das neue zn: gib =D2 in A3 ein.<br />

5. Fülle die Zellen B3, C3, D3 durch Markieren der Zellen B2-D2 und Ziehen am kleinen Quadrat<br />

automatisch aus.<br />

6. Markiere die Zellen A3-D3 und fülle die Zellen bis Zeile 33 automatisch aus.<br />

7. Markiere die Zellen B3-D33 und blende die Objekte mit Rechtsklick - Eigenschaften - Häkchen<br />

bei „Objekt anzeigen“ entfernen aus.<br />

8. Markiere die Zellen A12-A33 und blende die Beschriftung der Objekte mit Rechtsklick - Eigenschaften<br />

- Häkchen bei „Beschriftung anzeigen“ entfernen aus.<br />

9. Verändere A2 durch Ziehen mit der Maus und beobachte die Punkte A3-A33. Wie verhält sich die<br />

Iteration für verschiedene Startwerte A2?<br />

10. Gib z_1=1+0 i , z_2=-0.5 - 0.866 i, z_3=-0.5 + 0.866 i in die Eingabezeile<br />

ein. Blende diese Objekte wieder aus, das sind die Nullstellen die wir für die Färbung benötigen.<br />

11. Öffne den Eigenschaftsdialog für A2 und wähle die Registerkarte Erweitert.<br />

Gib bei Rot Wenn[A33 == z_1, 255, 0],<br />

bei Grün Wenn[Abstand[A33, z_2] < 0.01, 255, 0],<br />

bei Blau Wenn[Abstand[A33, z_2] < 0.01, 255, 0] ein.<br />

11


12. Schalte unter Einstellungen - Punktfang den Punktfang aus.<br />

13. Schalte die Spur von Punkt A2 ein. Durch Ziehen von A1 kannst du jetzt wieder Bereiche ausfindig<br />

machen, in denen die Startwerte gegen die gleiche Nullstelle konvergieren. Der Rand dieser<br />

Bereiche sind wiederum Julia-Mengen.<br />

14. Speichere die Datei<br />

15. Welche Bereiche (rot, grün, blau) streben gegen welche Nullstellen?<br />

16. Wenn du z.B. durch Scrollen mit dem Mausrad nahe genug zum Koordinatenursprung heranzoomst<br />

(so, dass der Abstand der Achsenmarkierung ungefähr 0,005 beträgt), bekommst du auch<br />

schwarze Bereiche. Was bedeutet das?<br />

Abbildung 8: Das Newtonfraktal für p(z)=−z 3 + 1<br />

Verwende GnuXaoS um zum Abschluss noch eine Zoomfahrt in das Newtonfraktal zu unternehmen<br />

(leider unterscheidet XaoS farblich nicht zwischen den Nullstellen).<br />

12

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!