function fraktal2(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 fun=@(z) z.^3+1;%function handles dfun=@(z) 3*z.^2; nicla=zeros(gostota_x,gostota_y); 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; [X,Y]=meshgrid(realni,imaginarni);%matriki X in Y vrednosti Z=X+i*Y;%nasi zacetni priblizki iteracije=zeros(gostota_x,gostota_y);%matrika stevcev iteracij za vse priblizke for k=1:maxit Y=feval(fun,Z);%izracunamo vrednosti za vse priblizke 'hkrati' dY=feval(dfun,Z);%izracunamo vrednosti odvodov za vse priblizke 'hkrati' Z=Z-Y./dY;%Newtonova iteracija za vse priblizke 'hkrati' r1=Z-z1;%razdalje od znanih treh nicel r2=Z-z2; r3=Z-z3; iteracije=iteracije+(sqrt(r1.*conj(r1))>tol).*(sqrt(r2.*conj(r2))>tol).*(sqrt(r3.*conj(r3))>tol); %iteracijam pristejemo 1 dokler se priblzek ne pribliza eni od treh %nicel na manj kot tol end r1=Z-z1;%se enkrat pogledamo razdalje koncih priblizkov od posameznih nicel r2=Z-z2; r3=Z-z3; nicle=(abs(r1)