You are on page 1of 3

Cdigo para el mtodo de Interpolacin de Lagrange:

clear all; close all; clc; fprintf('Interpolacion con el Metodo del Polinomio de Lagrange\n\n'); N=input('Introduzca el orden del polinomio: '); disp('Ahora introduzca las corrdenadas X y Y para cada punto: ') for i = 1:N+1 i x(i) = input('valor de x '); y(i) = input('valor de y '); end

l=0; for m=1:N+1 P=1; for k=1:N+1 if k~=m,P=conv(P,[1 -x(k)])/(x(m)-x(k));end end L(m,:)=P; l=l+y(m)*P end clc; disp('Polinomio de Lagrange') poly2sym(l) xmin=min(x);xmax=max(x); dx=(xmax-xmin)/100;

xx=[xmin:dx:xmax];yy=polyval(l,xx); clf;plot(xx,yy,'b',x,y,'*'); title('Grafica del polinomio de Lagrange')

Cdigo para el mtodo de interpolacin de Newton:

fprintf('Interpolacion con el Metodo del Polinomio de Newton\n\n'); N=input('Introduzca el orden del polinomio: '); disp('Ahora introduzca las corrdenadas X y Y para cada punto: ') for i = 1:N+1 i x(i) = input('valor de x '); y(i) = input('valor de y '); end

DD = zeros(N + 1,N + 1); DD(1:N + 1,1) = y'; for k = 2:N + 1 for m = 1: N + 2 - k DD(m,k) = (DD(m + 1,k - 1) - DD(m,k - 1))/(x(m + k - 1)- x(m)); end end a = DD(1,:); n = a(N+1); for k = N:-1:1 n = [n a(k)] - [0 n*x(k)]; end

clc; disp('Polinomio de Newton') poly2sym(n) xmin=min(x);xmax=max(x); dx=(xmax-xmin)/100;

xx=[xmin:dx:xmax];yy=polyval(n,xx); clf;plot(xx,yy,'b',x,y,'*');

title('Grafica del polinomio de Newton')

You might also like