Fractal de Mandelbrot amb Octave i GNUPlot

Indico, en aquest apunt, com dibuixar el fractal de Mandelbrot emprant programari lliure (concretament, Octave per a l’elaboració dels càlculs i GNUPlot per a dibuixar gràfiques).

Aquest conjunt consisteix simplement en examinar, punt per punt en un pla complex, si la iteració de la funció z^2 + C (on C és el punt del pla complex sota anàlisi) “s’escapa” ( tendeix a infinit ) o no ( en aquest cas, mirem si el valor queda per sota 10). Iterar significa, simplement, aplicar la mateixa funció a cada resultat obtingut (la base del sistemes dinàmics).

Aquest és el codi amb Octave:

function y=f(z, real,img)
 y=(z^2) + real + img*i ;
 endfunction

M=100;

%Iterations
 for l=-2:0.01:2
 for m=-2:0.01:2
 c=1;
 x = 0;
 while ((c<M) && ( abs(x) < 10 ))
 x = f(x, l , m);
 c=c+1;
 endwhile
 if (( abs(x) <= 10) && (c==M))
 printf("%f %f\n", l, m);
 endif

endfor
 endfor

L’execució d’aquest programa mostrarà per pantalla els punts que no s’escapen cap a infinit. Podem redirigir la seva execució cap a un fitxer octave ex2.m > mandelbrot.dat i pintar-los amb gnuplot:

plot 'mandelbrot.dat'

 

mandelbrot

Gerard

Gerard Farràs i Ballabriga.