You are on page 1of 5

METODO DE HORNER

En el campo matemtico de anlisis numrico, el Algoritmo de Horner, llamado as


por William George Homer, es un algoritmo para evaluar de forma eficiente
funciones polinmicas de una forma monomial.
APLICACIN
El algoritmo de Horner se usa a menudo para convertir entre distintos sistemas
numricos posicionales en cuyo caso x es la base del sistema numrico, y los
coeficientes ai son los dgitos de la representacin del nmero dado en la base x
-y puede usarse tambin si x es una matriz, en cuyo caso la carga computacional
se reduce an ms.
EFICIENCIA
La evaluacin usando la forma monomial del polinomio de grado-n requiere al
menos n sumas y (n2+n)/2 multiplicaciones, si las potencias se calculan mediante
la repeticin de multiplicaciones. El algoritmo de Horner slo requiere n sumas y n
multiplicaciones. (Minimizar el nmero de multiplicaciones es lo ms deseable
porque necesitan mucha carga computacional y son inestables comparadas con la
suma).
Se ha demostrado que el algoritmo de Horner es ptimo, de modo que cualquier
algoritmo que se use para evaluar un polinomio requerir como mnimo el mismo
nmero de operaciones.
EN GENERAL:
Este es el mtodo general para dividir polinomios. Consideremos los polinomios
completos y ordenados:
4

D ( x )=a0 x +a1 x + a2 x +a3 x+ a4


d ( x ) =b0 x2 +b 1 x +b2
Donde: a0 0 y b 0 0

Esquema de Horner.

PROCEDIMIENTO
1) Se completa y se ordena
los
polinomios
dividendo
y
divisor con respecto a una sola variable(llamada ordenatriz). En caso de que halla
dos variables se asume a una de ellas como tal y las dems hacen el papel de
nmeros o constantes.
2) Se distribuyen en forma horizontal los coeficientes del dividendo. Y en forma
vertical los coeficientes del divisor con signo cambiando a excepcin del primero.
3) Se traza una lnea vertical separando tantas columnas a partir de la derecha,
indicado por el grado del divisor; de esta manera se marca la separacin entre el
cociente y residuo.
4) Se divide el primer coeficiente del dividendo entre el primero del divisor y se
obtiene el primero del cociente. Luego este se multiplica por cada uno de los
coeficientes del divisor que han cambiado de signo y el resultado se coloca en la
segunda fila, corrindose un lugar a la derecha.
5) Se reduce la siguiente columna(se suman los coeficientes), y se repite el paso
anterior tantas veces hasta que la ultima operacin efectuada caiga debajo del
ultimo coeficiente del dividendo.
6) Se suman directamente los nmeros que estn en su signo, los dems
coeficientes van con signo cambiado.
7) La lnea(punteada) vertical que separa los coeficientes del cociente del resto se
traza contando desde el ultimo coeficiente del dividendo, un numero de espacios
igual al grado del divisor.
EJEMPLO
Dividir:

6 x 5 +5 x 44 x 28 x 36 x +4
2 x 3 +3 x2 1

Resolucin:

Aplicando el criterio general:


D ( x )=6 x5 +5 x 48 x 3 4 x 26 x +4
d ( x ) =2 x 3 +3 x 2+0 x1

Luego:

Q ( x )=3 x 22 x1 ; R ( x )=2 x 28 x +3

PROGRAMA DEL METODO DE HORNER


#include <stdio.h>
float evaluar(float *, int, float);
int main(void)
{
int n, i;
float x, coef[11], p;
printf("\nGrado del polinomio: ");
scanf("%d", &n);
printf("\nPunto en el que se quiere evaluar x = ");
scanf("%f", &x);
printf("\n\nIngreso de coeficientes:");
for(i=n; i >= 0; i--)
{
printf("\nCoeficiente de grado %d: ", i);
scanf("%f", &coef[i]);
}
p = evaluar(coef, n, x);
printf("\n\np(%.2f) = %f\n\n", x, p);
return 1;
}
float evaluar(float *coef, int n, float x)
{
int i;

float p;
for(p=coef[n], i=n; i>0; i--)
p = p*x + coef[i-1];
return p;
}

You might also like