Der folgende Code ist von here entnommen.Plot Schwarz-Weiß-Mandelbrot-Set
Ich versuche folgende Änderung des Code unter
zu machen Wenn c nicht Teil des Satzes ist, zeichnet ein weißes Pixel, und wenn es Teil des Satzes, Grundstück ein schwarzes Pixel ist.
Aber ich will wie dies ein Schwarz-Weiß-mandel Bild zeichnen:
Verwenden Sie den imshow Befehl Ihre plotten Bild
Kann jemand helfen?
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.
Ja, es funktioniert Danke können Sie mir sagen, wie kann ich das Bild mit 'imshow' Befehl anstelle von' view (2) 'sehen? – newguy
Wenn ich dies 'imshow (h)' mache, bekomme ich eine 3D-Ansicht zusammen mit einer Fehlermeldung im Befehlsfenster, wenn ich nur an 2D interessiert bin. – newguy
@newguy Warum möchten Sie 'imshow' über die Standardfigur verwenden? Ich denke, dass Sie zuerst die dreidimensionalen Daten in ein zweidimensionales Bild verarbeiten müssen, um 'imshow()' zu verwenden. –