1. 分形中的曼德博集(Mandelbrot Set)
曼德博集(Mandelbrot Set)是一种被广泛研究的分形,由法国数学家本华·曼德博特于20世纪80年代提出。它在复平面中定义,由所有满足特定性质的复数点组成。
曼德博集的定义基于一个简单的迭代公式:
其中,c为复数平面上的一个点,z为复数,并且起始值为0(即z_0 = 0)。具体来说,对于复平面上的每一个点c,都使用上述公式进行迭代。如果经过有限次迭代后,z的模值(绝对值)不超过2,那么这个点c就属于曼德博集。
更严谨的定义是,如果对于复平面上的某一点c,当n趋于无穷大时,上述序列的模值不超过2,那么这个点c就属于曼德博集。实际操作中,通常会设定一个最大迭代次数,例如1000次,如果1000次迭代后,z的模值仍然不超过2,那么就认为这个点c属于曼德博集。
曼德博集的分形图像非常漂亮,边界区域充满了复杂的细节。并且,曼德博集具有自相似性,也就是说,无论你放大多少倍观察,都能看到相似的结构。这是分形的一个重要特性。
2.MATLAB代码
clear all;clc;close all;
% Mandelbrot 集
% 参数
xRange = [-2.5, 1.5];
yRange = [-2, 2];
resolution = 500;
maxIter = 500;
% 生成复杂网格
[x, y] = meshgrid(linspace(xRange(1), xRange(2), resolution), linspace(yRange(1), yRange(2), resolution));
c = x + 1i * y;
z = c;
% Mandelbrot集计算
mandelbrotSet = ones(size(c));
for n = 1:maxIter
z = z.^2 + c;
outside = abs(z) > 2;
z(outside) = 2;
mandelbrotSet(outside) = 0;
end
% 绘图显示
figure;
imagesc(xRange, yRange, mandelbrotSet);
colormap([1 1 1; 0 0 0]);
axis square;
3.程序结果