Processing math: 100%

10 votos

Utilizar el método de Horner

Estoy tratando de evaluar un polinomio recursivamente usando El método de Horner.

Es bastante sencillo cuando tengo todos los valores de x (como: x+x2+x3... ), pero ¿y si me falta alguno? Ejemplo: 6+20x10x2+2x47x5+6x7 .

También agradecería que alguien explicara el método con más detalle, he utilizado la descripción aquí se encuentra la lista pero me gustaría tener alguna explicación más.

3 votos

Si faltan términos, el coeficiente correspondiente a utilizar en el método es 0.

10voto

runeh Puntos 1304

6x77x5+2x410x2+20x6 =

6x7+0x67x5+2x4+0x310x2+20x6

El método consiste esencialmente en empezar por el coeficiente de la mayor potencia, multiplicar por x y añadir el siguiente coeficiente. Detente cuando añadas el coeficiente constante.

Así que los pasos en la iteración van:

6

6x[+0]

6x27

6x37x+2

6x47x2+2x[+0]

6x57x3+2x210

6x67x4+2x310x+20

6x77x5+2x410x2+20x6

Confía en que esto ayude

7voto

pix0r Puntos 17854

El método o forma de Horner también se denomina a veces forma anidada. Se puede pensar en ella como si se comenzara con el polinomio completo 6x77x5+2x410x2+20x6, dejando de lado el término constante (si es cero, puedes dejar de lado un cero aquí) y factorizando un x de los términos restantes (6x67x4+2x310x+20)x6, y luego repetir el proceso para el polinomio más interno (la parte que aún no está completamente anidada: ((6x57x3+2x210)x+20)x6 (((6x47x2+2x)x10)x+20)x6 ((((6x37x+2)x+0)x10)x+20)x6 (((((6x27)x+2)x+0)x10)x+20)x6 ((((((6x)x7)x+2)x+0)x10)x+20)x6 (((((((6)x+0)x7)x+2)x+0)x10)x+20)x6

Alternativamente, si su polinomio es p(x)=nk=0akxk=anxn+an1xn1++a1x+a0, que se te ocurra p(x) en forma anidada como p0 donde pn=an y pk1=pkx+ak1 . Es decir, empezar con el coeficiente principal ( an ). Multiplicar por x y añadir el siguiente coeficiente (añadiendo un cero para rellenar las potencias "perdidas" de x ), repitiendo hasta que haya añadido el término constante ( a0 ). Volvamos al mismo ejemplo: p7=6p6=(6)x+0p5=((6)x+0)x7p4=(((6)x+0)x7)+2p3=((((6)x+0)x7)+2)x+0p2=(((((6)x+0)x7)+2)x+0)10p1=((((((6)x+0)x7)+2)x+0)10)+20p0=(((((((6)x+0)x7)+2)x+0)10)+20)6

0 votos

He tomado el ejemplo del post original. Su formato se hace eco del enlace dado, así que estoy seguro de que será útil.

0 votos

@Mark: Me acabo de dar cuenta de eso sobre el ejemplo (así que acabo de editar esa línea de mi respuesta)... aparentemente, tengo que trabajar en leer mejor la pregunta original.

6voto

Matt Puntos 2318

También se puede llevar a cabo en una tabla de división sintética. Suponga que quiere evaluar f(x)=x43x2+x5 para x=3 . Configure una tabla como la siguiente

              1    0     -3    1     5
          3
             -------------------------
              1

Ahora multiplica el número de la parte inferior y suma de la siguiente manera.

              1    0     -3    1     5
          3        3
             -------------------------
              1    3

Trabaja de esta manera.

              1    0     -3    1     -5
          3        3      9   18    57
             -------------------------
              1    3      6   19    52

Tenemos f(3)=52 . Hagamos una comprobación

f(3)=8139+35=542=52. f(3)=542=52.

Esta es una forma limpia y tabular de ver cómo funciona el método de Horner.

0 votos

Tienes varias erratas; -5 en la tabla y 52 en el resultado.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X