Matlab 代码生成牛顿分形图
以下是一个实现牛顿分形图的 Matlab 代码示例:
% 设置函数及其导数
f1 = @(z) z.^3 - 1;
df1 = @(z) 3*z.^2;
f2 = @(z) z.^3 + 1;
df2 = @(z) 3*z.^2;
f3 = @(z) z.^3 - z + 1;
df3 = @(z) 3*z.^2 - 1;
% 设置初始值范围
xmin = -1.5;
xmax = 1.5;
ymin = -1.5;
ymax = 1.5;
% 设置图像大小及分辨率
width = 800;
height = 800;
maxiter = 50;
% 生成网格点
[x, y] = meshgrid(linspace(xmin, xmax, width), linspace(ymin, ymax, height));
z = x + 1i*y;
% 迭代计算
for n = 1:maxiter
z = z - (f1(z)./df1(z));
z = z - (f2(z)./df2(z));
z = z - (f3(z)./df3(z));
end
% 绘制图像
figure;
imshow(abs(z), 'InitialMagnification', 'fit');
colormap(hsv);
colorbar;
title('Newton fractal');
该代码生成一个大小为 800x800 的牛顿分形图像,其中包括三个不同的函数及其导数。您可以根据自己的需要修改函数和初始值范围来生成不同的图像。
原文地址: https://www.cveoy.top/t/topic/oQ5Y 著作权归作者所有。请勿转载和采集!