1 ANLISIS NUMRICO
Diferencias divididas de Newton.
Fecha de entrega del reporte:
16
/
5/2013
. Grupo:_ 3AV3____
Nombre del Alumno: ____Gerardo Daniel Aguilar Jurez_ Boleta:
__2012302343__
Nombre del Profesor: __Miguel Jimnez Guzmn _
2 DIFERENCIAS DIVIDIDAS DE NEWTON
3 ANLISIS NUMRICO
1. Objetivos
2. Anlisis del mtodo
3. Aplicaciones del mtodo
4. Programacin en MATLAB
4 DIFERENCIAS DIVIDIDAS DE NEWTON
1. OBJETIVO DE LA PRCTICA
1. Anlisis del mtodo:
Comprender el concepto del mtodo de Interpolacin de Diferencias
Divididas de Newton.
2. Aplicacin del mtodo :
Una vez comprendido la teora del mtodo, se realiza un ejercicio a
mano como ejemplo del uso de este.
3. Programacin en MATLAB:
Analizar el mtodo para generar un cdigo de programacin que
funcione en MATLAB.
2. ANLISIS DEL MTODO
Los resultados del apartado anterior pueden ser generalizados para ajustar
un polinomio de n-simo orden a n+1 datos:
De igual manera que para las interpolaciones lineal y cuadrtica, se llega a:
Conocido como Polinomio de interpolacin por diferencias divididas
de Newton.
5 ANLISIS NUMRICO
Las evaluaciones de las funciones puestas entre corchetes (f[x1, x0], por
ejemplo) son diferencias divididas finitas.
La primera diferencia dividida finita se representa como:
La segunda diferencia dividida finita, la cual representa la diferencia de las
dos primeras diferencias divididas, se expresa como:
La nsima diferencia dividida finita es:
3. APLICACIN DEL MTODO
Con este ejemplo se ver mas claramente de lo que se habla:
x f(x) _ _ _
-3 2
_
7 -1
_
17 9 _ _ _
27 11
_
6 DIFERENCIAS DIVIDIDAS DE NEWTON
Los valores de b se encuentran en las celdas que tienen borde rojo.
Una vez obtenidos dichos valores simplemente se sustituyen en la ecuacion
general, se simplifica dicha ecuacion y se tiene una cuya curva pasa casi
exactamente por todos los puntos especificados.
7 ANLISIS NUMRICO
4. PROGRAMACIN EN MATLAB.
Cdigo en MATLAB
%Interpolacion de newton
clear;clc;
disp('metodos numericos');
disp('interpolacion');
disp('interpolacion');
n=input('ingrese el grado del polinomio, n=');
fprintf('Se necesitan %.0f puntos\n',n+1);
disp('ingrese los puntos');
for i=1:n+1
fprintf('x%.0f=',i-1);
X(i)=input(' ');
fprintf('y%.0f=',i-1);
Y(i)=input(' ');
end
DD=zeros(n+1);
DD(:,1)=Y;
for k=2:n+1
for J=k:n+1
8 DIFERENCIAS DIVIDIDAS DE NEWTON
DD(J,k)=[DD(J,k-1)-DD(J-1,k-1)]/[X(J)-X(J-k+1)];
end
end
disp('La matriz de diferencias divididas es:');
disp(DD);
disp('El polinomio de newton es');
syms x;
polnew=DD(1,1);
P=1;
for i=1:n
P=P*(x-X(i));
polnew=polnew+P*DD(i+1,i+1);
end
polnew=expand(polnew);
pretty(polnew);
x=input('ingrese el valor de x a interpolar,\nx=');
vi=eval(polnew);
fprintf('el valor interpolado es %9.6f\n',vi);
hold on;
ezplot(polnew,[X(1) X(n+1)]);
plot(x,vi,'r+');
9 ANLISIS NUMRICO
Capturas
10 DIFERENCIAS DIVIDIDAS DE NEWTON