INTERPOLACIÓN DE NEWTON
Programación:
%Interpolación de newton
clear;clc;
disp('metodos numericos');
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
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, x=');
vi=eval(polnew);
fprintf('el valor interpolado es %.2f\n',vi);
hold on;
ezplot(polnew,[X(1) X(n+1)]);
plot(x,vi,'r+');
Ejercicios:
𝑿𝟎 , 𝒀𝟎 𝑿𝟏 , 𝒀𝟏 𝑿𝟐 , 𝒀𝟐 𝑿𝟑 , 𝒀𝟑 𝑿𝟒 , 𝒀𝟒
X 0 3 2 5 6
Y 0 1 4 5 8
1
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE INGENIERÍA ELECTRÓNICA Y COMUNICACIONES
PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
METODOS NUMERICOS
x y
0 0 0 0 0 0
3 1 0.3333 0 0 0
2 4 -3 -1.667 0 0
5 5 0.3333 1.6667 0.6667 0
6 8 3 0.6667 -0.3333 -0.1667
𝑏0 = 0
−0.3333 − 𝑏3
𝑏4 =
𝑥4 − 𝑥0
−0.3333 − 0.6667
𝑏4 = = −0.1667
6−0
𝑓4 (𝑥) = 0 + 0.3333(𝑥 − 0) − 1.6667(𝑥 − 0)(𝑥 − 3) + 0.6667(𝑥 − 0)(𝑥 − 3)(𝑥 − 2) − 0.1667(𝑥 − 0)(𝑥 − 3)(𝑥 − 2)(𝑥 − 5)
𝑥 4 7𝑥 3 61𝑥 2 43𝑥
𝑓(𝑥) = − + − +
6 3 6 3
𝑓(3) = 1
El valor interpolado es 1
𝑿𝟎 , 𝒀𝟎 𝑿𝟏 , 𝒀𝟏 𝑿𝟐 , 𝒀𝟐 𝑿𝟑 , 𝒀𝟑
X 1 5 3 7
y 2 6 4 1
2
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE INGENIERÍA ELECTRÓNICA Y COMUNICACIONES
PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
METODOS NUMERICOS
X y
1 2 0 0 0
5 6 1 0 0
3 4 1 0 0
7 1 -0.75 -0.875 -0.1458
Polinomio de Newton:
7𝑥 3 21𝑥 2 113𝑥 51
𝑓(𝑥) = − + − +
48 16 48 16
𝑓(2) = 2.56
𝑿𝟎 , 𝒀𝟎 𝑿𝟏 , 𝒀𝟏 𝑿𝟐 , 𝒀𝟐 𝑿𝟑 , 𝒀𝟑
X 8 2 6 7
y 4 1 3 5
x Y
8 4 0 0 0
2 1 1 0 0
6 3 1 0 0
7 5 -0.75 -0.875 -0.1458
Polinomio de Newton:
3
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE INGENIERÍA ELECTRÓNICA Y COMUNICACIONES
PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
METODOS NUMERICOS
𝑓(4) = −2.80
𝑿𝟎 , 𝒀𝟎 𝑿𝟏 , 𝒀𝟏 𝑿𝟐 , 𝒀𝟐
X 5 2 6
Y 4 9 3
x Y
5 4 0 0
2 9 -1.6667 0
6 3 -1.5 0.1667
Polinomio de Newton:
𝒙𝟐 𝟏𝟕𝒙
𝒇𝟐 (𝒙) = − + 𝟏𝟒
𝟔 𝟔
𝑥 2 17𝑥
𝑓2 (𝑥) = − + 14
6 6
(3)2 17(3)
𝑓(3) = − + 14
6 6
𝑓(3) = 7
𝑿𝟎 , 𝒀𝟎 𝑿𝟏 , 𝒀𝟏 𝑿𝟐 , 𝒀𝟐
X 15 12 16
Y 14 19 13
X Y
15 14 0 0
12 19 -1.6667 0
16 13 -1.5 0.1667
Polinomio de Newton:
𝒙𝟐 𝟑𝟕𝒙
𝒇𝟐 (𝒙) = − + 𝟔𝟗
𝟔 𝟔
4
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE INGENIERÍA ELECTRÓNICA Y COMUNICACIONES
PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
METODOS NUMERICOS
𝑥 2 17𝑥
𝑓2 (𝑥) = − + 69
6 6
(6)2 17(6)
𝑓(6) = − + 69
6 6
𝑓(6) = 3
INTERPOLACIÓN LINEAL
Programación:
1)
2)
x=[1 2 3 4 5 6 7];
y=[5 9 6 1 4 3 6];
xx=[1.0 2.0 3.0 4.0 5.0];
yy=interp1(x,y,xx,'linear');
disp([xx' yy'])
hold on
plot(x,y,'-bo','markersize',3,'markerfacecolor','b')
plot(xx,yy,'ro','markersize',4,'markerfacecolor','r')
xlabel('x')
ylabel('y')
grid on
title('Interpolación lineal');
hold off
3)
x=[2 4 6 8 10 12];
y=[3 6 9 5 2 4];
xx=[1.0 2.0 3.0 4.0 5.0];
yy=interp1(x,y,xx,'linear');
disp([xx' yy'])
hold on
plot(x,y,'-bo','markersize',3,'markerfacecolor','b')
plot(xx,yy,'ro','markersize',4,'markerfacecolor','r')
5
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE INGENIERÍA ELECTRÓNICA Y COMUNICACIONES
PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
METODOS NUMERICOS
xlabel('x')
ylabel('y')
grid on
title('Interpolación lineal');
hold off
4)
5)