function [alpha,k,errori]=puntofisso(phi,x0,tol,kmax)
% metodo di punto fisso per risolvere phi(x)=x
% Input: phi: function handle della funzione
%        x0: punto iniziale
%        tol: tolleranza per i test d'arresto
%        kmax: numero massimo di iterazioni
% Output: alpha= punto fisso calcolato
%         k = numero iterazioni effettuate
%         errori = vettore degli errori
% [alpha,k,errori]=puntofisso(phi,x0,tol,kmax)


k=0;
err=tol+1;
errori=[];
while k<kmax && err>=tol
    xnew=phi(x0);
    err=norm(xnew-x0);
    errori=[errori;err];
    k=k+1;
    x0=xnew;
end
alpha=xnew;
