
function [x,err,flag] = punto_fisso(phi,x1,a,b,tol,maxit)

x=x1; iter=0; flag=1; err=tol+1;

while (err > tol) & (iter < maxit)
    xL=x(end);
    if (xL < a) | (xL > b)
        fprintf('\n \t l''iterata non e'' nell''intervallo richiesto');
        flag=0;
        return;
    end

    xN=feval(phi,xL);
    x=[x; xN];
    err=abs(xN-xL);
    iter=iter+1;
end

if iter >= maxit, flag=0; return; end