El método de Horner es una técnica para evaluar polinomios de forma rápida y eficiente. Aunque se le atribuye al matemático británico William George Horner, quien lo formalizó en 1819, ya era conocido desde la antigua China y la India medieval.
Civilizaciones como la china y matemáticos como Bhaskara II usaban métodos similares siglos antes. Horner popularizó esta técnica en Europa, y desde entonces se ha usado tanto en cálculo manual como en programación por su simplicidad y rapidez
El método de Horner es una forma simplificada de evaluar un polinomio en un valor dado, reescribiéndolo de forma factorizada para reducir operaciones.
Se reorganiza asi:
Evaluar polinomios rápidamente en un valor dado.
Simplificar divisiones sintéticas de polinomios.
Resolver ecuaciones polinómicas en métodos numéricos (como Newton-Raphson).
Optimizar cálculos en computadoras y dispositivos electrónicos al reducir operaciones.
Verificar raíces aproximadas de polinomios.
% Coeficientes del numerador (orden descendente)
numerador = [25 -5 4 -1 0 8];
% Coeficientes del denominador
denominador = [5 2 -3];
% División larga de polinomios
[cociente, residuo] = deconv(numerador, denominador);
% Mostrar cociente y residuo
disp('Cociente:');
disp(cociente);
disp('Residuo:');
disp(residuo);
% Evaluación por método de Horner en x = 5
x = 5;
% Evaluar cociente(x) usando Horner
valor_cociente = cociente(1);
for i = 2:length(cociente)
valor_cociente = valor_cociente * x + cociente(i);
end
% Evaluar resto(x) usando Horner
valor_residuo = residuo(1);
for i = 2:length(residuo)
valor_residuo = valor_residuo * x + residuo(i);
end
% Evaluar denominador(x) usando Horner
valor_denominador = denominador(1);
for i = 2:length(denominador)
valor_denominador = valor_denominador * x + denominador(i);
end
% Calcular f(x) = cociente(x) + resto(x)/denominador(x)
f_x = valor_cociente + valor_residuo / valor_denominador;
% Mostrar resultado final
fprintf('f(5) = %.4f\n', f_x);