function [x,k,scarto]=puntofisso(x0,tol,kmax,g)

% IL METODO CERCA DI APPROSSIMARE LA SOLUZIONE
% DEL PROBLEMA DI PUNTO FISSO "x=g(x)".

% PRIMA ITERAZIONE DEL METODO DI PUNTO FISSO x=g(x).
k=1;
x(1)=x0;
gx=feval(g,x(k));
scarto(k)=abs(gx-x(1));
fprintf('\n \t [ITER.]: %3.0f',k);
fprintf('[VALORE]: %5.5f [ABS.SCARTO]: %2.2e',x(k),abs(scarto(k)));

% ITERAZIONI SUCCESSIVE DEL METODO DI PUNTO FISSO.
while (abs(scarto(k)) > tol) & (k < kmax) 
    k=k+1;
    x(k)=gx;
    gx=feval(g,x(k));
    scarto(k)=abs(gx-x(k));
    fprintf('\n \t [ITER.]: %3.0f',k);
    fprintf('[VALORE]: %5.5f [ABS.SCARTO]: %2.2e',x(k),abs(scarto(k)));
end

fprintf('\n');
