
function algoritmo_horner

clear all;
% il polinomio 1+2x+3x^2+4x^3 e' codificato con [1 2 3 4].
a=[1 2 3 4]; 
x=pi;
y1=algoritmo1(a,x);
y2=algoritmo2(a,x);

fprintf('\n \t algoritmo 1: %1.15e',y1);
fprintf('\n \t algoritmo 2: %1.15e',y2);

fprintf('\n \n');




function s=algoritmo1(a,x)
xk=1; s=a(1);
for i=2:length(a)
   xk=xk*x;
   s=s+a(i)*xk;
end

function s=algoritmo2(a,x)
L=length(a);
s=a(L); % COMPONENTE a_n IMMAGAZZINATA IN a(n+1).
for i=L-1:-1:1
      s=a(i)+x*s;
end

