 Guten Tag und herzlich Willkommen zurück! Wir befinden uns jetzt hier im breiten Teil des Kapitels zu Fraktalen. Hier wird es mehrere Videos dazu geben und wir werden in diesem Teil jetzt erst einmal die Juliamenge plotten sowie die Bifokation uns als Bild ausgeben lassen, so dass wir die Teile zu Chaostheorie und zu Mandelbrotmenge zumindest mal abgefrühstückt haben. Der Hauptteil des Kodes zu Fraktalen finden Sie dann in unserem Folgevideo dazu. Deswegen werde ich dieses Video relativ kurz halten und die Erklärung des Kodes ganz genau so. Sie haben hier oben ein Package, was sie importieren können. Dieses Package ist speziell für Bildverarbeitungen da und um Bilder zu erstellen. Dieses IfName gleich Main bezieht sich darauf, ob dieses Programm hier als Hauptprogramm eben ausgeführt wird. Wir legen hier noch die Bildmaße fest und die Zoom-Stufe, also wie weit wir quasi in diese Juliamenge hineinsehen möchten. Danach erzeugen wir uns eine Bitmap, das sehen Sie hier. Wir haben den Hintergrund als schwarz angegeben und ansonsten eben die Rot-Grün-Blau-Kodierung gewählt. Sie können hier natürlich auch andere Farben auswählen und wenn Sie hier drüber gehen natürlich auch viel mehr noch mit einstellen. Natürlich laden wir uns dann hier noch eine Bitmap und diese ganze Formelle hier unten erzeugt uns nichts anderes. Wir haben einen Ausgangspunkt für die X und Y-Koordinaten, zeigt uns die Startwerte für die X und Y-Bewegungen und hier die maximalen Iterationen, die wir ausführen oder vornehmen möchten. Wir iterieren hier in diesem ganzen Vor-Block und While-Block eben durch diese Funktionen und Formeln, welche für die Juliamenge eben notwendig sind und geben das Ganze hier aus und lassen uns das Ganze anzeigen. Sie können diesen Code hier einfach ausführen, nachdem sie über PIP install eben dieses P-E-L-Package noch hinzugefügt haben. Sie können hier oben Dinge einstellen, Sie können auch die Formeln verändern, wenn Sie möchten. Ich habe mir jetzt hier die Freiheit herausgenommen, nachdem das Rendern des Bildes und nachdem das Erzeugen dieser Juliamenge grafisch durchaus einige Zeit in Anspruch nehmen kann. Habe ich mir die Freiheit genommen, Ihnen das schon mal vorzubereiten und werde diesen Code hier erstmal nicht mehr ausführen, sondern werde Ihnen direkt mal das Ergebnis dieses Codes hier zeigen. Ich schaue mal, ob ich hier noch ein hübsches Vollbild draus machen kann. Na wunderbar! Sie sehen hier in Quichebund eine Juliamenge oder eine Juliamenge, Juliamenge, abgetragen. Sie können die Farben natürlich anpassen, wie Sie möchten. Sie können auch, wenn Sie hier reinzoomen möchten, erstens Sie mich hier mal zoomen, Sie sehen hier die Details, werden etwas unscharf, wenn Sie hier reingezoomt haben. Sie können natürlich, wenn Sie das im Detail selbst sehen möchten, da mal ein paar tausend Pixel mehr dazu rechnen, die Zoom-Stufe erhöhen und ein bisschen Zeit dafür einplanen, weil wir das nicht mit Multithreading berechnen und daher könnte das etwas dauern. Was wir hier allerdings sehen, ist wunderbar diese Selbstehnlichkeit und Fraktalität. Wir sehen hier diesen schwarzen Vortex, der hier in subschwarze Vortexe übergeht und hier wieder einen größeren schwarzen Vortex bildet und so weiter und so fort. Das sehen wir hier an diesem Bild wunderbar. Ich zoome hier mal nochmal heraus und wir sehen hier wirklich immer dieselbe rekurrente Struktur, die immer wieder auftritt. Was hier eigentlich ein Bild ist für Orbiter einer komplexen Zahleninteraktion, das dürfen Sie nicht vergessen, wir betrachten hier Mathematik. Und zwar, wenn Sie mich ganz persönlich fragen und das soll jetzt nicht melodramatisch oder sonst irgendwie psychotisch klingen, aber ich finde, Fraktale sind Mathematik in einer der schönsten Arten, die man eben sehen kann und ich finde so ein Bild hier wesentlich ansprechender wie drei Seiten formalistische Herleitungen und ich denke, da sind Sie auch einer Meinung mit mir. So, ich habe hier dieses Bild mal wieder geschlossen. Sie sehen hier nochmal den Code, den können Sie frei manipulieren, so wie Ihnen das eben gefällt. Das nächste, was wir jetzt machen werden und das witch ich hier in dem Code einmal in der nächsten Datei rüber, ist aufbauend auf der Julia Menge eben die angesprochene Bivokation und eben diesen Bivokationsbaum zu plotten. Auch hier gilt wieder, ich werde den Code nur sehr grob und schnell besprechen, da ich Ihnen nicht unbedingt als notwendig für diese Vorlesung erachte. Ich werde im nächsten Video über die normalen fractalen Kurven, wenn wir die erzeugen, etwas detaillierter darauf eingehen, wenn das Code denn genau funktioniert. Hier ist es wieder so, wie importieren oben unsere Pakete, die notwendig sind. Wir definieren unsere logistische Funktion hier. Also das ist hier die Einfallfunktion r mal x mal 1 minus x, die hier schon zu chaotischem Verhalten führen kann und wenn eine Gleichung r mal x mal 1 minus x schon zu chaotischem Verhalten führen kann, können Sie das ja mal selbst auf unsere Finanzmärkte hochskalieren. Was wir hier weiterhin machen ist, wir machen uns hier ein hübsches Plotfeld, wo wir das alles erzeugen können und wir plotten uns natürlich erstmal diese logistische Funktion. Danach definieren wir uns hier eine schöne Funktion, die die Orbite darstellen kann und plotten uns die Orbite für gewisse Parameter und hier unten erzeugen wir letzten Endes aus diesen Orbiten heraus die Bivorkationsdiagramme und lassen Sie uns anzeigen hier unten, indem wir diese Funktion eben aufrufen. Diese ganze, wie erzeug ich hier, mein Plot ist immer noch in dieser Definition hier oben enthalten. Hier können Sie das sehen, was ich in unserem ersten Coding Video ausgespart habe und zwar eine Funktion, in der die Plots erzeugt werden können. Was für Sie hier von Interesse ist, Sie können hier oben einmal die Funktion verändern, wenn Ihnen danach ist, wenn Sie andere logistische Funktionen finden, die da es können, dann nehmen Sie bitte die. Sie können hier die Parameter verändern und Sie können hier unten die Parameter verändern. Nachdem das jetzt ja eigentlich nur mal ein schnelles Anschauungsdemonstrationsvideo sein soll für diesen Code, fühlen wir den hier doch gerade mal aus und ich zeige Ihnen als erstes mal die logistische Funktion hier mit einer Wachstumsrate mit einem R von 2. Das ist so die Basis, wenn Sie sich in die nicht lineare Dynamik begeben, ist dieses Bildchen hier der Ausgangspunkt. Ich schließe das jetzt nun mal und zeige Ihnen mal dieselbe Funktion, wenn wir dieses R verändern und Sie sehen über die Zeit nicht unbedingt mehr eine Parabel, eine Umgekehrte, sondern das hier ist ein periodisches Hin- und Hergezacker. Das ist noch deterministisch, damit können wir noch leben. Aber wenn wir hier jetzt einfach mal die Wachstumsrate dieses R weiter erhöhen, stellen wir fest, dass das alles irgendwie nicht mehr so genau gleich aussieht. Ich scroll hier mal ein bisschen runter und mache das Bild noch mal groß. Sie sehen hier auf alle Fälle, das ist alles andere wie deterministisch und Sie sehen hier schon, dass wir hier eine Abhängigkeit von den Anfangsbedingungen haben. Machen wir mal weiter. Ich habe hier eine noch höhere Wachstumsrate geplottet, wo Sie sehen, es sieht irgendwie immer wilder aus und um jetzt auf den Punkt zu kommen, schließe ich das jetzt auch nochmal, dass wir eben unsere Bivokationsdiagramme sehen können. Die dauern ein bisschen zum Rechnen und die mache ich jetzt hier auch noch mal groß. Sie sehen hier auch, hier unten auf der X-Achse haben wir unser R abgetragen und Sie sehen, dass ab einem R ab 1 geht es hier irgendwie erstmal aufwärts und erst ab einem R ab 3. Hier haben wir eben einen ersten Fixpunkt und die Bivokation, dass wir eben unser Graf in 2 teilt und ab 3,5 wird es richtig wild, wie Sie hier sehen können. Ich schließe jetzt nochmal dieses Bild noch mal, weil dieser Code ist so aufgebaut, dass er mir natürlich immer mehr Details anzeigt. Sie sehen hier, die Details am rechten Rand werden natürlich immer mehr und was wir hier auch erkennen können, bei 3 haben wir die erste Spaltung am Fixpunkt und wir sehen hier diesen weißen Streifen, der irgendwo bei 3,8 entsteht, wo wir eigentlich nur hier oben 1, 2, knappe 3 Fixpunkte haben und dann auf einmal wieder ganz viele. Wenn wir uns das jetzt genauer ansehen möchten, betrachten wir den letzten Graf, den dieser Code hier ausgeben kann. Der plottet mir natürlich hier aber unten von 2,8 bis 4 die Details in der Bivokation und hier können Sie sich den Verlauf der Orbel sehr genau ansehen. Gerade ab 3,85, 3,9 hier sehen Sie, dass hier einfach mal leere Felder dazwischen sind, wo wir hier wieder eine kleine 2-Spaltung haben, hier auch und hier oben auch. Also so können Sie chaosfaktisch darstellen und das ist eigentlich schon alles, was ich Ihnen mit diesem Video zeigen möchte. Sie können natürlich hier oben die Grafiken verändern, Sie können mit den Parametern spielen und sich die Bilder hier ausgeben lassen, dann können Sie mal selber ein bisschen chaotische Luft schnuppern und wir werden natürlich noch ein zweites Video hier haben, indem wir uns tatsächlich mit diesen fractalen Kurven beschäftigen, die wir in der Vorlesung auch in Tiefe besprochen haben. Bis dahin wünsche ich Ihnen alles Gute und viel Spaß beim Ausprobieren.