1
以下代码取自here。情节黑白mandelbrot套装
我试图让下列更改下面的代码
如果c不是集的一部分,绘制白色 像素,如果它是一组的一部分,情节黑色像素。
但我要绘制这样一个黑白的Mandelbrot图像:
使用imshow命令绘制你的图片
任何人都可以帮忙吗?
m=601;
n=401;
count_max = 200;
%Change the range of x's and y's here
x_max = 1;
x_min = - 2;
y_max = 1;
y_min = - 1;
%
% Create an array of complex sample points in [x_min,x_max] + [y_min,y_max]*i.
%
I = (1 : m);
J = (1 : n);
X = ((I - 1) * x_max + (m - I) * x_min)/(m - 1);
Y = ((J - 1) * y_max + (n - J) * y_min)/(n - 1);
[ Zr, Zi ] = meshgrid (X, Y);
C = complex (Zr, Zi);
%
% Carry out the iteration.
%
epsilon = 0.001;
Z = C;
ieps = 1 : numel (C);
%Iterate through 1 to maximum no. of iterations
for i = 1 : count_max
Z(ieps) = Z(ieps) .* Z(ieps) + C(ieps);
W(ieps) = exp (- abs (Z(ieps)));
ieps = ieps (find (epsilon < W(ieps)));
end
%
% Display the data.
%
d = log (abs (Z));
t = delaunay (Zr, Zi);
%
% To see individual pixels, use 'flat' color.
%
h = trisurf (t, Zr, Zi, d, 'FaceColor', 'flat', 'EdgeColor', 'flat');
% h = trisurf (t, Zr, Zi, d, 'FaceColor', 'interp', 'EdgeColor', 'interp');
view (2)
axis equal
axis on
title_string = sprintf ('Mandelbrot set, %d x %d pixels, %d iterations', ...
m, n, count_max);
title (title_string)
xlabel ('Real Axis');
ylabel ('Imaginary Axis');
% Terminate.
是的,它可以告诉我如何使用'imshow'命令而不是'view(2)'查看图像? – newguy
当我这样做时'imshow(h)'当我只对2D感兴趣时,我在命令窗口中看到3D视图以及一些错误消息。 – newguy
@newguy为什么你想在标准图上使用'imshow'?我想你需要首先将三维数据处理成二维图像,以便使用'imshow()'。 –