Microsoft Excel

Das Portal zum Thema Excel-Formeln

Gruppe: Mathematik

Beitrag: Grafische Darstellung von Juliamengen *

Aufgabe
Wer das Bild interessant findet, aber null Ahnung hat, kann sich in Wikipedia unter: "Julia-Menge" schlau machen. Der Chaos-Freak weiß, um was es geht: fortlaufende Iteration der Komplexen Zahl z nach der Formel z1 = z0^2 + c, z2 =z1^2 + c usw. Um zu vermeiden, dass die Iteration ins Unendliche divergiert, sollte die Funktion umgekehrt werden: z1 = Wurzel( z2 –c), z0 = Wurzel( z1 –c) usw. Damit es nicht einseitig wird (Jede Wurzel hat zwei Resultate, ein positives und ein negatives), wird das Ergebnis jedes Iterationsschrittes mit einem Zufallsgenerator positiv oder negativ gemacht.
Autor: Klaus Kühnlein

DOWNLOAD
Der Dateityp ist xlsx, also für die Excel Versionen 2007/2010, da die verwendeten Funktionen zur Berechnung von komplexen Zahlen erst seit der Version 2007 zum Standard gehören. (Bei Konvertierung in eine xls-Datei müsste also das Add-In Analysefunktionen aktiviert sein.)




Lösung
In B3:C3 werden Real- und Imaginärteil der Konstanten c eingegeben.D3 wandelt die beiden c-Teile in eine Komplexe Zahl um: =KOMPLEXE(B3;C3

Der Anfangswert der Iteration findet sich in D6: = KOMPLEXE(1;1). Er kann auch jeden anderen Wert haben, da die Iteration nicht vorwärts (z^2+c) sondern rückwärts (Wurzel(z-c)) ausgeführt wird und dadurch eine Explosion ins Unendliche vermieden wird.

In D7 erfolgt der erste Iterationsschritt mit:
=WENN(ZUFALLSZAHL()<0.5;IMWURZEL(IMSUB(D6;$D$3));IMSUB(0,IMWURZEL(IMSUB(D6;$D$3))))
Diese Formel wird bis D10000 runterkopiert und schon hat man alle Werte der Julia-Menge.

Diese Werte werden in Rechteck-Koordinaten umgewandelt:
B7: =IMREALTEIL(D7), C7: =IMAGINÄRTEIL(D7). B7:C7 bis B10000:C10000 runter kopieren. B13:C10000 bilden die Datenreihen für ein XY-Punkt-Diagramm, das die Julia-Menge visualisiert. Bei genauerem Hinsehen entdeckt man, dass die Datenreihe für das Diagramm in B13:C13 beginnt. Dadurch gibt man der Iteration die Chance, sich von einem falschen Anfangswert auf „richtige“ Werte einzupendeln.