%
% funzione che calcola il polinomio interpolante
% INPUT x, vettore con le ascisse (dei punti di interpolazione)
%       y, vettore con le odinate (dei punti di interpolazione)
%
% OUTPUT coeffs, coefficenti del polinomio
%
function coeffs = interp_poly( x, y )
  % calcolo differenze divise
  dd = differenze_divise( x, y );

  n = size(y,1) ; % numero di righe di y

  % omega = 1
  omega    = zeros( n, 1 ) ;
  omega(1) = 1 ;

  % polinomio nullo
  coeffs = zeros( n, 1 ) ;
  for k=1:n
    coeffs = coeffs + dd(k)*omega ;
    % moltiplicare omega * (x-x(k))
    omega = [ 0 ; omega(1:end-1) ] -x(k)*omega ;
    %             ^
    %             |
    %     moltiplicazione per x
  end
end
