Fractales, Conjunto de Mandelbrot, Conjuntos de Julia

El conjunto de Mandelbrot es uno de los más populares en matemáticas, ya que proporciona una de las imágenes
visuales más enigmáticas y bonitas que se encuentran en los misterios del plano complejo.

    Para definir el conjunto de Mandelbrot utilizamos la iteración en el plano complejo
 
 





donde  c=c1+ic2  es una constante compleja y los sucesivos zn se obtienen al iterar la función f(z)=z2+c  a
partir de un z0 inicial. Para un valor de c fijo, la sucesión de iterados zn  puede que vaya hacia infinito, o por
el contrario puede que formen una sucesión acotada. Esto depende del valor z=z0 inicial del que se haya
partido. Los llamados conjuntos de Julia se definen a partir de este concepto. El  conjunto de Julia Jc
es el conjunto frontera de los valores z0 del plano complejo que dan lugar a una sucesión no acotada.

    Los conjuntos de Julia Jc resultan ser o bien conexos o totalmente disconexos. El conjunto de Mandelbrot M se define
entonces como el conjunto de constantes c=c1+ic2 del plano complejo que dan lugar a un Julia conexo, esto es,
 
 

    El conjunto de Mandelbrot es muy fácil de calcular con ordenador, sin embargo para su cálculo no se usa la definición
que acabamos de dar, ya que esta resulta ser prácticamente inmanejable. Se utiliza una propiedad que caracteriza el
conjunto de Mandelbrot y que le da por tanto otra definición equivalente. Si empezamos a iterar la función f(z)=z2+c
para distintos valores de c, a partir siempre del valor inicial  z0=0, esto es consideramos la familia de iterados de 0

entonces el conjunto de Mandelbrot M son justamente los valores de  c=c1+ic2 que hacen que esta sucesión sea
acotada. Luego dado un valor c del plano complejo decidimos que está en el conjunto de Mandelbrot o no
según que la iteración anterior esté acotada o no.
 
 
Distintos conjuntos 
de Julia

 
%mandel.m     Mandelbrot set.
h = waitbar(0,'Computing...');
x = linspace(-2.1,0.6,101);
y = linspace(-1.1,1.1,101);
[X,Y] = meshgrid(x,y);
C = X+i*Y;
Z_max = 1e6; it_max = 50;
Z = C;
for k = 1:it_max
    Z = Z.^2 + C;
    waitbar(k/it_max)
end
close(h)
contourf(x,y,abs(Z)<Z_max,1)
title('Mandelbrot Set','FontSize',16)

 

 
puntos=100; % Poner 300 si posible
puntosx=linspace(-2, 2, puntos);
puntosy=linspace(-1.5, 1.5, puntos);
[X,Y]=meshgrid(puntosx,puntosy);
c=-1; 
%Probar con otros valores de c, por ej. 
%c=-0.1+0.8*i, c=-0.3-0.4*i, c=-0.4-0.6*i, etc.
Z=X+Y*i;
iteraciones=20;
for k=1: iteraciones
   Z=Z.^2+c;
   W=exp(-abs(Z));
end
colormap(summer) 
% por defecto es colormap(jet), probar con otros
% autumn, bone, hot, colorcube, spring, summer, etc.
pcolor(W);
shading flat;

El número pi aparece dentro del conjunto de Mandelbrot: http://www.frii.com/~davejen/mandel.html



Programas de matlab: mandel.m, julia.m

Tomeu Barceló  /  Departamento de Matemáticas  /  Universidad Autónoma de Madrid