function myjulia(Zmax,c,N) % Generate and visualize quadratic Julia Sets % More information about Julia Sets can be found here: % http://en.wikipedia.org/wiki/Julia_set % this code is for the assignment of the "Introduction to Matlab" offered by MITOPENCOURSEWARE % Coded by http://scriptdemo.blogspot.com if (nargin==1) Ndemo=Zmax; clear Zmax switch Ndemo case {1} myjulia(1,-0.297491+i*0.641051,100); return; case {2} myjulia(0.35,-0.297491+i*0.641051,250); return; otherwise disp('Not defined demo type!') help myjulia; return end elseif (nargin~=3) help myjulia; return end % generate the basic matrix NM=500; [Z,tmpy]=meshgrid(linspace(-Zmax,Zmax,NM),zeros(1,NM)); Z=Z+i*Z'; clear tmpy % compute the escape velocity myM=reshape(escapeVelocity(Z(:),c,N),NM,NM); % visualize the results imagesc(atan(0.1*myM)); figurenicer;axis xy; function n=escapeVelocity(z0,c,N) n=z0*0; NLen=length(z0); IndZ=1:length(z0); IndZ=IndZ'; for ni=1:N IndLT=find(abs(z0)<2); IndGE=find(abs(z0)>=2); n(IndZ(IndGE))=ni; if (length(IndLT)>0) z0(IndLT)=z0(IndLT).*z0(IndLT)+c; end z0(IndGE)=[]; IndZ(IndGE)=[]; end if ~isempty(IndZ) n(IndZ)=N; end |
myjulia(2) |
No comments:
Post a Comment