xmax=2; steps=100; maxiter=32; Z=0; X=[-xmax:2*xmax/(steps-1):xmax]; Y=[-xmax:2*xmax/(steps-1):xmax]; for m=1:steps c=i*(-xmax+2*xmax*m/steps); for n=1:steps c=-xmax+2*xmax*n/steps-.5 + i*imag(c); z=c; for r=0:maxiter z=z*z+c; if abs(z)>2 break end end Z(m,n)=sqrt(r/maxiter); end end mesh(X,Y,Z)