function fraktal(xmin,xmax,ymin,ymax,gostota_x,gostota_y,maxit,tol) %narise fraktal v kompleksni ravnini, ki ga dobimo, da zacetne priblizke %za Newtonovo iteracijo pri resevanju enacbe z^3+1=0 locimo glede na %niclo h kateri iteracija konvergira %'xmin','xmax','ymin','ymax' je pravokotnik v kompleksni ravnini, kjer %risemo %'gostota_x' in 'gostota_y' sta gostoti tock v x in y smeri %'maxit' in 'tol' sta parametra za Newtonovo metodo, ki jo %uporabljamo % %draws a fractal in the complex plane obtained by performing Newtons %iteration for solvinf the equation %z^3+1=0 %and observing the solution to which the iteration converges to. %'xmin','xmax','ymin','ymax' determines the the rectangle in the plane, %'gostota_x' and 'gostota_y' are the number of points in the x and y %direction realni=linspace(xmin,xmax,gostota_x);%inicializiramo mrezo tock imaginarni=linspace(ymin,ymax,gostota_y); stevilo_iteracij=zeros(gostota_x,gostota_y);%za vsako tocko prestejemo %stevilo iteracij, ki jo Newtonova metoda potrebuje ter niclo h kateri %skonvergira nicla=zeros(gostota_x,gostota_y); fun=@(z) z.^3+1;%function handles dfun=@(z) 3*z.^2; z1=-1;%z^3+1=0 ima te tri resitve v kompleksni ravnini z2=0.5+i*sqrt(3)/2; z3=0.5-i*sqrt(3)/2; for it=1:gostota_x for jt=1:gostota_y z0=realni(it)+i*imaginarni(jt);%kompleksno stevilo v mrezi [z,s]=newton(fun,dfun,z0,tol,maxit);%za vsako tocko v mrezi %pozenemo Newtonovo iteracijo %glede na niclo izberemo barvo in glede na stevilo iteracij odtenek stevilo_iteracij(it,jt)=s; if norm(z-z1)<0.1 nicla(it,jt)=1; end if norm(z-z2)<0.1 nicla(it,jt)=2; stevilo_iteracij(it,jt)=stevilo_iteracij(it,jt)+maxit-1; end if norm(z-z3)<0.1 nicla(it,jt)=3; stevilo_iteracij(it,jt)=stevilo_iteracij(it,jt)+2*(maxit-1); end end end %sestavimo barvno lestvico za ukaza 'colormap' in 'image' nule=zeros(maxit-1,1);% odtenki=((maxit-1):-1:1)'/maxit; barve=[ 0 0 0; odtenki nule nule; nule odtenki nule; nule nule odtenki;]; colormap(barve); image(stevilo_iteracij');