%
% Funzione per la stampa delle iterate per il metodo delle
% secanti
%
%  fun = funzione alla quale e' stato applicato
%        il metodo delle secanti
%  X   = vettore con la storia delle iterate
%
%  xe  = soluzione esatta
%
function piter(fun,X,xe)

  % calcolo ingombro iterate per coordinata X
  xmin = min(X) ;
  xmax = max(X) ;
  len  = xmax-xmin ;
  xmin = xmin - len/10 ;
  xmax = xmax + len/10 ;
  
  % vettori per il plot della funzione
  XX   = [xmin:len/1000:xmax] ;
  YY   = feval(fun,XX) ;

  % calcolo ingombro iterate per coordinata Y
  ymin = min(YY) ;
  ymax = max(YY) ;
  
  plot(XX,YY,'LineWidth',2);
  hold on;
  
  % assi centrati sullo zero
  plot([xe;xe],[ymin;ymax],'k-','LineWidth',1);
  plot([xmin;xmax],[0;0],'k-','LineWidth',1);
  
  for i=1:length(X)
    x = X(i) ;
    % linea verticale
    plot([x;x],[0;feval(fun,x)],'r--','LineWidth',2);
    if i>2
      x2 = X(i-2) ;
      % secante
      plot([x;x2],[0;feval(fun,x2)],'c-');      
    end
  end
  axis on ;
  hold off;
end
