1
以下代码取自here。如何绘制黑白图片mandelbrot图
我试图让下列更改下面的代码
如果c不是集的一部分,绘制白色 像素,如果它是一组的一部分,情节黑色像素。
使用imshow命令绘制图像
% Parameters:
% Input, integer M, the number of pixels in the X direction.
% Input, integer N, the number of pixels in the Y direction.
% Input, integer COUNT_MAX, the number of iterations. While 10 or
% 20 is a reasonable value, increasing COUNT_MAX gives a sharper image.
%
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.
对于第一点,我不知道该怎么做。
为了完成第二点: 当我更换
view(2)
到imshow(2)
我没有得到的图像只是标题,标签
如果我改变:
view(2)
到imshow()
我得到一个3D图。
的参数调用它喔我知道了,谢谢对我的理解解释现在用'nargin'的你能帮我与前两个要求是什么? – newguy
@newguy它解决你最后一个问题。你为什么试图用任何东西来替换“view(2)”? 'imshow'与'view(2)' – Suever
无关'因为我必须使用imshow命令作为要求 – newguy