gpt4 book ai didi

matlab - 在 Matlab 中为 Mandelbrot 集着色

转载 作者:行者123 更新时间:2023-12-05 01:03:03 27 4
gpt4 key购买 nike

我编写了一个程序来计算 mandelbrot 集中的点。对于不属于 mandelbrot 集合的点,我会跟踪起始点需要多少次迭代才能发散到幅度大于 2 的位置。基本上对于不在 mandelbrot 集合中的每个点,我都有一个计数器它的速度有多快在 1 到 256 的范围内发散。id 喜欢做的是根据每个点发散的速度给每个点一个颜色。例如,在 255 次迭代中发散的点可能是白色的,发散得越快,颜色就越多。我做了一个简单的调整,将超过 20 步的发散点涂成红色,以 10-19 步发散的发散点为蓝色,以 5-9 步发散的发散点为黄色,看起来像这样。

enter image description here

现在我无法对所有可能的 255 发散率执行此操作。如何制作毕业规模并在 Matlab 中实现。提前感谢您的帮助。如果有人想知道更多,请询问。谢谢!

编辑很抱歉,图片似乎无法正常工作。基本上我需要它这个。我正在绘制点,为每个点分配一个 1 到 255 之间的值,我希望颜色根据分配给它的值逐渐变化。谢谢!

最佳答案

在Matlab中绘制曼德布罗集的简单方法如下

function mandelbrot(n, niter)

x0 = -2; x1 = 1;
y0 = -1.5; y1 = 1.5;

[x,y] = meshgrid(linspace(x0, x1, n), linspace(y0, y1, n));

c = x + 1i * y;
z = zeros(size(c));
k = zeros(size(c));

for ii = 1:niter
z = z.^2 + c;
k(abs(z) > 2 & k == 0) = niter - ii;
end

figure,
imagesc(k),
colormap hot
axis square

这只是跟踪迭代次数直到数组 k 中的分歧,并使用 imagesc 使用线性色标绘制它。结果是

>> mandelbrot(800, 40)

enter image description here

关于matlab - 在 Matlab 中为 Mandelbrot 集着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20844510/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com