Está en la página 1de 13

UNIVERSIDAD DE LAS FUERZAS ARMADAS- ESPE

DEPARTAMENTO DE CIENCIAS EXACTAS

INGENIERA EN MECATRNICA

NRC: 1155

INTERPOLACION NEWTON, LAGRANGE.

Realizado por Henry Huaraca, Bryan Tipan.

Ing. Jose Luis Marcillo.

15 de Enero del 2016

Sangolqu, Pichincha, Ecuador


Interpolacion Newton, Lagrange.

1. Determine en los siguientes casos, el polinomio interpolador de Lagrange


para aproximar la funcion f (x) = x3 .
a) El polinomio cuadrtico P2 (x) para los nodos:

x0 = 1 x1 = 0 x2 = 1
.

b) el polinomio cubico P3 par los nodos:

x0 = 1 x1 = 0 x2 = 1 x3 = 2
.
CODIGO DE MATLAB

%programa para el ejercicio 1 de interpolacion de lagrange


clc
clear all
format long
clf
disp('los valores de x se debe ingresar de la forma [a b c ...]');
x=input('Ingrese los valores de x: ');
disp('los valores de y se debe ingresar de la forma [d e f ...]');
y=input('Ingrese los valores de y: ');
m=length(x);
n=m-1;
for i=1:n+1
q=1;
for j=1:n+1
if i~=j
q= conv (q , poly(x(j)))/(x(i)-x(j));
end
end
l(i,:)= q;
end
fprintf('El Polinomio Interpolador es: ')
P=y*l
a=min(x);
b=max(x);
x1=a:0.1:b;
y1=polyval(P,x1);
n1=input('Ingrese el valor de X que desea evaluar en el polinomio: ');
m1=polyval(P,n1);
fprintf('El valor de Y obtenido es: %g\n',m1);
plot (x,y,'O');
grid;
hold on;
plot(x1,y1,'r');
plot(n1,m1,'k+');
xlabel ('Abscisas (X)');

Henry Huaraca, Bryan Tipan 1


Interpolacion Newton, Lagrange.

ylabel ('Ordenadas (Y)');


legend ('Nodos','Polinomio Interpolador','Punto evaluado');
SOLUCION ANALITICA DE a)
los coecientes del polinomio son:

GRFICO DEL POLINOMIO INTERPOLADOR

SOLUCION ANALITICA DE b)
los coecientes del polinomio son:

GRFICO DEL POLINOMIO INTERPOLADOR

Henry Huaraca, Bryan Tipan 2


Interpolacion Newton, Lagrange.

2. Modicar el cdigo dado para que realice el grco de los nodos (puntos) y el
polinomio interpolador.
3. Cree su propio cdigo.
4. En el cuadro siguiente se muestran las temperaturas que fueron medidas cada
hora, durante un lapso total de 5 horas
a) Construir el polinomio interpolador de Lagrange correspondiente a los datos del cuadro
anterior.

b) Estimar la temperatura media durante el periodo de 5 horas dado.

c) Dibuje los datos del cuadro y el polinomio interpolador encontrado, en el mismo graco.
Discuta el error que puede apreciar al usar dicho polinomio para estimar la temperatura media.
CODIGO DE MATLAB

%programa para el ejercicio 4 de interpolacion de lagrange


clc
clear all
format long
clf
disp('los valores de x se debe ingresar de la forma [a b c ...]');
x=input('Ingrese los valores de x: ');
disp('los valores de y se debe ingresar de la forma [d e f ...]');
y=input('Ingrese los valores de y: ');
m=length(x);
n=m-1;
for i=1:n+1
q=1;
for j=1:n+1
if i~=j
q= conv (q , poly(x(j)))/(x(i)-x(j));
end

Henry Huaraca, Bryan Tipan 3


Interpolacion Newton, Lagrange.

end
l(i,:)= q;
end
fprintf('El Polinomio Interpolador es: ')
P=y*l
a=min(x);
b=max(x);
x1=a:0.1:b;
y1=polyval(P,x1);
n1=input('Ingrese el valor de X que desea evaluar en el polinomio: ');
m1=polyval(P,n1);
fprintf('El valor de Y obtenido es: %g\n',m1);
plot (x,y);
grid;
hold on;
plot (x,y,'O');
plot(x1,y1,'g');
plot(n1,m1,'k+');
xlabel ('Abscisas (X)');
ylabel ('Ordenadas (Y)');
legend ('Grafica Datos','Nodos','Polinomio Interpolador','Punto evaluado');
a)
SOLUCION ANALITICA )
los coecientes del polinomio son:

b)
la temperatura promedio es:
18 + 18 + 17 + 16 + 15 + 14
Tprom =
6
Tprom = 16.33
c)
GRFICA )

Henry Huaraca, Bryan Tipan 4


Interpolacion Newton, Lagrange. 1 PROBLEMA 1

al resolver el polinomio:
x5 2 x4 511 x3 1018 x2 26977 x
P5 (X) = + + + 8536
120 3 24 3 10
con P5 (X) = 16.33 que es la temperatura promedio , tenemos las siguientes horas:

x = 12.39 x = 15, 66 x = 19.75


Lo cual nos da 2 horas que estn fuera del rango en el que trabajamos.
Al usar este polinomio para la estimacin de la temperatura promedio puede darnos horas que
estn fuera del rango en el que estemos trabajando como lo mencionamos anteriormente.

1 Problema 1
En base a las funciones y datos que se muestran en el cuadro tres realizar:
a) Calcular la tabla de diferencias divididas para las funciones y datos.
b)Escribir los Polinomios interpoladores de Newton P1,P2,P3 y P4
c)Calcular los valores de los polinomios hallados, en el apartado anterior, para los valores de x
dados.
d) Compare los valores obtenidos, con los valores exactos.

f (x) = x1/2 ; x = 4, 5, 6, 7, 8
f (x) = 3(sin(pi x/6)); x = 0, 1, 2, 3, 4

Henry Huaraca, Bryan Tipan 5


1.1 Cdigo utilizado Interpolacion Newton, Lagrange. 1 PROBLEMA 1

1.1 Cdigo utilizado

clear;
clc;
disp('Mtodo de Interpolacin de Newton');
n=input('Ingrese el grado del polinomio a determinar: ');
fprintf('\nSe necesita ingresar %.0f puntos\n',n+1);
fprintf('Ingrese las coordenadas de los puntos:\n');
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
fprintf('\nLa matriz de diferencias divididas es:\n\n');
disp(DD);
disp('El polinomio de newton es:');
syms x;
poli=DD(1,1);
P=1;
for i=1:n
P=P*(x-X(i));
poli=poli+P*DD(i+1,i+1);
end
poli=expand(poli);
pretty(poli);
op=input('Ingrese (1) para f(x)=x^1/2 o (2) para f(x)=3(sin(pix/2))^2: ');
if(op==1)
f=inline('x^(1/2)');
else
f=inline('3*(sin(3.141617*x/6))^2');
end
fprintf('Valor Interpolado Valor Original es:\n');
for i=1:n+1
fx=feval(f,X(i));
x=X(i);
vi=eval(poli);
fprintf('%.2f %.2f\n ',fx,vi);
end

1.2 Capturas

Solucin de la Primera funcin


La captura de pantalla del programa es:

Henry Huaraca, Bryan Tipan 6


1.2 Capturas Interpolacion Newton, Lagrange. 1 PROBLEMA 1

Polinomio 1

Polinomio 2
Polinomio 3

Polinomio 4

Henry Huaraca, Bryan Tipan 7


1.2 Capturas Interpolacion Newton, Lagrange. 1 PROBLEMA 1

La Grca es:
Solucin de la Segunda funcin

La captura de pantalla del programa es:

Polinomio 1

Polinomio 2

Polinomio 3

Henry Huaraca, Bryan Tipan 8


Interpolacion Newton, Lagrange. 2 PROBLEMA 2

Polinomio 4
La Grca es:

2 Problema 2
EL polinomio p(x) = 2 (x + 1) + x(x + 1) 2x(x + 1)(x 1) interpola os primeros cuatro
nodos de la tabla

interpole la tabla entera.

2.1 Cdigo

clear;
clc;
disp('Mtodo de Interpolacin de Newton');
n=input('Ingrese el grado del polinomio a determinar: ');
fprintf('\nSe necesita ingresar %.0f puntos\n',n+1);
fprintf('Ingrese las coordenadas de los puntos:\n');
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);

Henry Huaraca, Bryan Tipan 9


2.2 Capturas Interpolacion Newton, Lagrange. 2 PROBLEMA 2

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
fprintf('\nLa matriz de diferencias divididas es:\n\n');
disp(DD);
disp('El polinomio de newton es:');
syms x;
poli=DD(1,1);
P=1;
for i=1:n
P=P*(x-X(i));
poli=poli+P*DD(i+1,i+1);
end
poli=expand(poli);
pretty(poli);

2.2 Capturas

Henry Huaraca, Bryan Tipan 10


Interpolacion Newton, Lagrange. 3 PROBLEMA 3

3 Problema 3
La ecuacion x 9x = 0 tiene una solucin en el intervalo de 0 a 1. Utilice la teoria de interpo-
lacin polinomial en los nodos x0=0, x1=0.5 y x2=1, para encontrar una solucin aproximada
de x estime el error.

3.1 Cdigo

clear;
clc;
disp('Mtodo de Interpolacin de Newton');
n=input('Ingrese el grado del polinomio a determinar: ');
fprintf('\nSe necesita ingresar %.0f puntos\n',n+1);
fprintf('Ingrese las coordenadas de los puntos:\n');
f=inline('x-9^(-x)');
for i=1:n+1
fprintf('x%.0f=',i-1);
X(i)=input(' ');
Y(i)=feval(f,X(i));
fprintf('y%.0f= %.2f\n',i-1,Y(i));
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
fprintf('\nLa matriz de diferencias divididas es:\n\n');
disp(DD);
disp('El polinomio de newton es:');
syms x;
poli=DD(1,1);
P=1;
for i=1:n
P=P*(x-X(i));
poli=poli+P*DD(i+1,i+1);
end
poli=expand(poli);
pretty(poli);
fprintf('Valor Interpolado Valor Original Error:\n');
for i=1:n+1
fx=feval(f,X(i));
x=X(i);
vi=eval(poli);
e=abs(fx-vi);
fprintf('%.2f %.2f %.2f\n ',fx,vi,e);
end

Henry Huaraca, Bryan Tipan 11


3.2 Capturas Interpolacion Newton, Lagrange. 3 PROBLEMA 3

3.2 Capturas

La captura de pantalla del programa es:

Henry Huaraca, Bryan Tipan 12

También podría gustarte