- 27 Mar 2014, 17:16
#336677
Tengo que hacer una función en Matlab que implemente el esquema de Horner-Ruffini para evaluar un polinomio escrito en forma de Newton (ésto es para una interpolación, que también vaya manera de complicarse la vida, con lo fácil que es a pelo). Total, que un polinomio de grado n escrito en forma de Newton es de la forma (lo escribo lo mejor que pueda, ya que no veo el LaTeX aquí):
pn(x)=co+c1*(x-alpha0)+c2*(x-alpha0)(x-alpha1)+....+cn(x-alpha(n-1))
Donde C es un vector de coeficientes, x es el punto a evaluar y alpha son los nodos.
Por escribir la expresión en sí en Matlab no tengo problema. El problema es que no se me ocurre forma de escribir la multiplicación de los paréntesis y ajustar para que sea el grado n. Investigando he encontrado la función polyfit, pero realmente no me queda claro qué hacer con ella.Tal y como yo lo veo, con lo que hace, podría escribir:
pn(x)=C[1]+polyfit(C,NO, N) donde NO sería el vector con los nodos, entendiéndose éstos como 1,2,3,4,5,....
Así por ejemplo si queremos un polinomio de grado 3, que sea:
p=2+4*(x-1)+3*(x-1)(x-2)+7*(x-1)*(x-2)*(x-3)
¿Alguna sugerencia? Éste ejercicio no tengo por donde cogerlo, y eso que sé hacer mis cositas con Matlab.
Yo sé quién soy, y sé quién puedo ser....(Alonso Quijano; "El Quijote")
Say "hello" to my little friend (Tony Montana)
Todos somos aficionados. La vida es tan corta que no da para más(Charles Chaplin)