iter = 30; % число итераций
npix = 1000; % число точек по каждой из осей координат
% область
dl = 2;
x = linspace(-dl,+dl,npix);
y = linspace(-dl,+dl,npix);
% матрица C содержит все начальные точки данной области
[X,Y] = meshgrid(x,y);
C = X + i * Y;
Z = zeros(npix);
for l = 1:iter
Z = Z.^2 + C;
end;
W = exp(-abs(Z));
% рисование
imagesc(W);
colormap(jet);
axis ('equal','off')
Еще один вариант:
iter=30; % число итераций
npix=1000; % число точек по каждой из осей координат
% область
dl=2;
x=linspace(-dl,+dl,npix);
y=linspace(-dl,+dl,npix);
% матрица C содержит все начальные точки данной области
[X,Y] = meshgrid(x,y);
C = X + i * Y;
% массив B будет содержать все точки оставшиесЯ в области.
% элемент массива равен числу итераций в течение которых
% точка оставалась в области
B = zeros(npix);
Z = B; % C0 = 0+0i
for l = 1:iter
Z = Z.^2 + C;
B = B + (abs(Z)<2);
end;
% рисование
imagesc(B);
colormap(jet);
axis ('equal','off')
Комментарии
comments powered by Disqus