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

% y=ITERACIJA(f,x0,delta,maxsteps) dela iteracijo za funkcijo f z zacetnim 
% priblizkom x0. Funkcija f mora biti podana v obliki inline funkcije 
% (npr. f=inline('x^2-2')). Iteracija se konca, ko se zadnja priblizka relativno
% razlikujeta za manj kot delta ali ko prekoracimo maksimalno stevilo korakov maxsteps.
% Ce zadnjih dveh argumentov ne podamo, je privzeta vrednost za delta osnovna 
% zaokrozitvena napaka eps, za maxsteps pa 50.
 
% Bor Plestenjak 2004

if nargin<3, delta=eps; end
if nargin<4, maxsteps=50; end

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

while (norm(xn-x0,'inf')>delta*norm(xn,'inf')) & (korak<maxsteps)
   korak=korak+1;           						 
   x0=xn;
   xn=f(x0);   
   disp(sprintf('%s %0.2g',sprintf('%15.15f  ',xn),norm(xn-x0,'inf')));  % izpisemo trenutni priblizek
%   xn
end   

y=xn;