newtonfractal.m
上传用户:sdhuameng
上传日期:2021-02-23
资源大小:8k
文件大小:1k
源码类别:

分形几何

开发平台:

Matlab

  1. %newton fractal
  2. %Note: this script takes about 11 seconds to complete 
  3. %the fractal
  4. xres = 1000;  
  5. yres = 1000;
  6.   x = linspace(-1.5,1.5,xres);
  7.   y = linspace(-1.5,1.5,yres);
  8.   c = zeros(length(y),length(x));
  9. iter= 30;    %number of iterations
  10. len_x = length(x);
  11. len_y = length(y);
  12. for n=1:len_x
  13.     c(n,:) = y(n)+i*x(:);
  14. end
  15. h_msg   = msgbox(' Please Wait ',' ');
  16. zvalues = zeros(len_x,len_y);
  17.     z   = 0+i*0; 
  18.   rough = 0; 
  19.  rough1 = 0; 
  20.      m  =  1;
  21.      n  =  len_x*len_y;
  22. tic
  23. for m=1:n
  24.      
  25.     k = 0;
  26.     z = c(m);
  27.     rough1 = 0.06;
  28.     rough  = 0;
  29.      while ((k<=iter)&&(abs(rough1)> 0.05))
  30.               z = z - 0.33334*z + 0.33334/(z^2) ;   
  31.               %simplified expression of  z- (z^3-1)/(3*z^2);
  32.              
  33.          rough1 = z - rough;
  34.          rough  = z;
  35.              k  = k+1;
  36.      end
  37.    zvalues(m) =k;
  38. end
  39. close(h_msg);
  40. ho=flipud(colormap(hot));
  41. colormap(ho)
  42. image(x,y,zvalues)
  43. axis tight square
  44. toc