function y = iteracija(f,x0,delta,maxsteps)

% y=ITERACIJA(f,x0,delta,maxsteps) izvaja iteracijo za funkcijo f z zacetnim 
% priblizkom x0. Iteracija se konca, ko se zadnja priblizka razlikujeta za 
% manj kot delta ali ko prekoracimo maksimalno stevilo korakov maxsteps.
% Ce zadnjih dveh argumentov ne podamo, je privzeta vrednost za delta 1e-10, 
% za maxsteps pa 50. 
% 
% Primer uporabe:
% f = @(x) (x^3+1)/5
% iteracija(f,0.3,1e-10,50)

% Bor Plestenjak 2004
% zadnja sprememba 16.10.2020

% privzete vrednosti argumentov, èe jih ne podamo
if nargin<3, delta=1e-10; end
if nargin<4, maxsteps=50; end

xn=x0;  x0=Inf;  korak=0;

while (abs(xn-x0)>delta) && (korak<maxsteps)
   korak=korak+1;           						 
   x0 = xn;
   xn = f(x0);   
   disp(sprintf('%3d:  %s %0.1e',korak,sprintf('%18.15f  ',xn),abs(xn-x0)))  % izpis
   pause(0.1)
end   

y=xn;