function p=horner(x,z,d)
%----------------------------------------
% Valuta su z un polinomio di coefficienti
% il vettore d, costruito sull'' insieme
% di valori contenuti nel vettore x
%----------------------------------------
%
% Inputs
%      x,d=vettori della stessa lunghezza
%        z=scalare
% Output
%      p=il valore del polinomio in z
%---------------------------------------- 
n=length(d);
p=d(n);
for i=n-1:-1:1,
    p=p*(z-x(i))+d(i);
end
