Espero que no sea demasiado tarde y que aún te sea de utilidad, para que funcione debes abrir un archivo nuevo tipo función siguiendo la secuencia:
file->new m file
despues de eso y ya estando en el editor de matlab teclear todo esto:
function valor=horner1(p,x0);
n=length(p)-1; %n es el grado del polinomio
b(1)=p(1);
c(1)=b(1);
for k=2:length(p)
b(k)=b(k-1)*x0+p(k);
if k<=n
c(k)=c(k-1)*x0+b(k);
end
end
q=b(1:n)
residuop=b(n+1)
residuoq=c(n)
pdex0=residuop
pprimadex0=residuoq
antes de salir lo guardas como horner1 y después lo ejecutas, en la ventana de ejecución de comandos (comand window), definiendo previamente el polinomio p en la forma vectorial-matricial p=[an+1,an , an-21,..,a2, a1] y el valor x0=a donde quieras evaluar el polinomio p y su derivada p'.
Tecleando horner1(p,x0) obtendrás los resultados deseados.