Aplicaciones y herramientas informáticas, internet y otros sucedáneos informáticos
Avatar de Usuario
por
#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.
Avatar de Usuario
por
#336678
Como aporte, os pongo que me han pasado ésto, pero por lo que veo no es genérico y no me sirve. Yo quiero hacer un polinomio interpolador de Newton genérico.

X=[0 1 2 4]'

Y=1+X.^4

xi=[0:0.01:4]';
yi=1+xi.^4; % funcion f

% con polyfit de MATLAB MUY RECOMENDABLE
a=polyfit(X,Y,3) % polinomio en forma extendida
p3=a(4)+a(3)*xi+a(2)*xi.^2+a(1)*xi.^3;
% se puede evaluar con polyval de Matlab

% con el sistema de vandermonde NO RECOMENDABLE

M=[ X.^0 X.^1 X.^2 X.^3];

av=M\Y

pnewton=1+xi+7*xi.*(xi-1)+7*xi.*(xi-1).*(xi-2);

plot(X,Y,'o',xi,yi,'r',xi,pnewton,'k')

Cabe decir que no me vais a hacer nada de trabajo porque no voy a clase por estar trabajando. Me preparo las asignaturas por mi cuenta (y mejor que me va que perdiendo el tiempo delante de diapositivas)
Regístrese y/o inicie sesión para ver archivos adjuntos.
Avatar de Usuario
por
#336687
No os culpo porque no se os ocurra nada.... jajaja. Por favor, si tenéis alguna idea, dadla, a ver si se me ocurre algo.
Palabras clave
Temas similares

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

Permisos de mensaje

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro