function ccollatz(xmin,xmax,ymin,ymax, maxiter); %Example ccollatz(-2,2,-2,2,300) nx = 400; ny = 400; ColorMset = zeros(ny,nx,3); wb = waitbar(0,'Please wait...'); for iy = 1:ny cy = ymin + iy*(ymax - ymin)/(ny - 1); for ix= 1:nx cx = xmin + ix*(xmax - xmin)/(nx - 1); k = Mlevel(cx,cy,maxiter); if k == 0 ColorMset(iy,ix,:) = 0; else ColorMset(iy,ix,1) = abs(sin(2*k/10)); ColorMset(iy,ix,2) = abs(sin(2*k/10+pi/4)); ColorMset(iy,ix,3) = abs(cos(2*k/10)); end end waitbar(iy/ny,wb) end close(wb); image(ColorMset); function [potential] = Mlevel(cx,cy,maxiter) z = complex(cx,cy); iter = 0; while (iter < maxiter)&(abs(z) < 100) z = (2+7*z-(2+5*z)*cos(pi*z))/4; iter = iter+1; end if iter < maxiter potential = iter; else potential = 0; end