1 votos

Evaluación de un polinomio mediante el algoritmo de Horner

Con el algoritmo de Horner, puedo resolver f(x $_{0}$ ) para un polinomio como éste: $a_0 + a_1x + a_2x^2 + a_3x^3 + ... + a_nx^n$

Al hacer esto:

b $_n$ = a $_n$

b $_{n-1}$ = a $_{n-1}$ + b $_n$ x $_0$

b $_{n-2}$ = a $_{n-2}$ + b $_{n-1}$ x $_0$

...

b $_0$ = a $_0$ + b $_1$ x $_0$

Donde b $_0$ = f(x $_{0}$ ). El problema es hacer el algoritmo de Horner en algo así: $a_1 + a_2(x + y_1) + a_3(x + y_1)(x + y_2) + a_4(x + y_1)(x + y_2)(x + y_3) + ... + a_{n+1}(x + y_1)(x + y_2)(x + y_3)...(x + y_n)$

Así que en lugar de ir de un $_0$ a un $_n$ va de un $_1$ a un $_{n+1}$ por lo que para b $_n$ ¿se supone que es b $_n$ = a $_{n+1}$ ? También digamos que estamos tratando de resolver f(1,53) y tenemos:

a = -1, 3.3, 0, -2.2, 5, -1.6
y = -1, 1, -1, 1, -1

Así que si n = 5, así es como hice el algoritmo de Horner:

b $_5$ = -1.6

x $_0$ = (1.53 - 1)(1.53 + 1)(1.53 - 1)(1.53 + 1) = 1.79801281

b $_4$ = 5 + (-1.6)(1.79801281) = 2.123179504

x $_0$ = (1.53 - 1)(1.53 + 1)(1.53 - 1) = 0.710677

b $_3$ = -2.2 + (2.123179504)(0.710677) = -0.691105159

x $_0$ = (1.53 - 1)(1.53 + 1) = 1.3409

b $_2$ = 0 + (-0.691105159)(1.3409) = -0.926702907

x $_0$ = (1.53 - 1) = 0.53

b $_1$ = 3.3 + (-0.926702907)(0.53) = 2.808847459

b $_0$ = -1 + (2.808847459)(1.53) = 3.297536612

El problema es que f(1,53) = 6,65086 que no es lo que b $_0$ es así ¿qué estoy haciendo mal?

0voto

Abdallah Hammam Puntos 358

$$b_n=a_n $$

para $k $ de $n-1$ a $0$

$$b_k=a_k+b_{k+1}x_0$$

0voto

dxiv Puntos 1639

en lugar de ir de $a_0$ a $a_n$ va de $a_1$ a $a_{n+1}$ por lo que para $b_n$ ¿se supone que es b $_n$ = $a_{n+1}$ ?

En efecto, hay que ajustar el índice. Sin embargo, no es el único cambio que hay que hacer. Al contrario que en el caso de Método de Horner la segunda expresión es no un polinomio, ya que los términos no contienen potencias consecutivas del mismo $\,x\,$ . Para tener en cuenta esto, la recurrencia debe ser modificada para:

$$ \begin{align} b_{n} &= a_{n+1} \\ b_{n-1} &= a_n + b_n(x+y_n) \\ b_{n-2} &= a_{n-1} + b_{n-1}(x+y_{n-1}) \\ &\cdots \\ b_{1} &= a_{2} + b_{2}(x+y_2) \\ b_{0} &= a_{1} + b_{1}(x+y_1) \\ \end{align} $$

Lo anterior equivale a escribir la expresión como

$${\displaystyle a_{1}+(x+y_1)\bigg(a_{2}+(x+y_2)\Big(a_{3}+\cdots +(x+y_{n-1})\big(a_{n}+a_{n+1}(x+y_n)\big)\Big)\bigg)}$$

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