Escuela de Ingeniería
Departamento de Ingeniería Estructural y Geotécnica.
IMM2650 Métodos Matemáticos aplicados a la Ingenieria
Héctor Zuilt Z.
Pregunta i)
Error de aproximación con 21 nodos: 28.8670
f(x) y su polinomio interpolante de Lagrange N=20
4 Funcion f(x)
Polinomio Pn(t)
3.5
2.5
1.5
0.5
4 Funcion f(x)
Polinomio Pn(t)
3.5
2.5
1.5
0.5
-0.5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Pregunta ii)
Error de aproximación con 21 nodos: 0.0185
1.5
0.5
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Error de aproximación con 31 nodos: 0.0056
f(x) y su polinomio interpolante de Lagrange a tramos N=30
3
Funcion f(x)
Polinomio Pn(t)
2.5
1.5
0.5
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Pregunta iii)
Error de aproximación con 21 nodos: 0.0096
1.5
0.5
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Error de aproximación con 31 nodos: 0.0020
f(x) y su polinomio interpolante de Hermite a tramos N=30
3
Funcion f(x)
Polinomio Pn(t)
2.5
1.5
0.5
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Pregunta i) con puntos de Tchebycheff
Error de aproximación con 21 nodos: 0.2531
f(x) y su polinomio interpolante de Lagrange N=20
3
Funcion f(x)
Polinomio Pn(t)
2.5
1.5
0.5
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
1.5
0.5
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Pregunta ii) con puntos de Tchebycheff
Error de aproximación con 21 nodos: 0.0240
f(x) y su polinomio interpolante de Lagrange a tramos N=20
3
Funcion f(x)
Polinomio Pn(t)
2.5
1.5
0.5
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Error de aproximación con 31 nodos: 0.0158
1.5
0.5
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Pregunta iii) con puntos de Tchebycheff
Error de aproximación con 21 nodos: 0.0509
f(x) y su polinomio interpolante de Hermite a tramos N=20
3
Funcion f(x)
Polinomio Pn(t)
2.5
1.5
0.5
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Error de aproximación con 31 nodos: 0.0083
1.5
0.5
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Comentarios:
Anexos
Tarea1.m
clc,close all,clear all
for N=20:10:30
%inicializacion de espacio x
x=linspace(-1,1,10001);
fx=(2+sin(6*pi*x))./(1+10*x.^2);
t=linspace(-1,1,N+1);
pk=(2+sin(6*pi*t))./(1+10*t.^2);
%PREGUNTA i)
figure,hold,title(['Polinomios de Lagrange N=' num2str(N)])
for k=1:length(t)
for n=1:length(x)
for l=1:length(t) %pitatoria
if l~=k
pit(l)=(x(n)-t(l))/(t(k)-t(l));
else
pit(l)=1;
end
end
fi(k,n)=prod(pit);
end
plot(x,fi(k,:))
end
figure,hold,title(['f(x) y su polinomio interpolante de Lagrange N='
num2str(N)])
Pn=pk*fi;
[Error1]=norm1trap(x,fx,Pn)
plot(x,fx,x,Pn,'r')
legend('Funcion f(x)','Polinomio Pn(t)')
%PREGUNTA ii)
for k=1:length(t)-1
xm(k,:)=linspace(t(k),t(k+1),3);
end
for k=1:size(xm,2)
for n=1:length(x)
for i=1:size(xm,1)
for l=1:size(xm,2) %pitatoria
if l~=k
pit2(i,l)=(x(n)-xm(i,l))/(xm(i,k)-xm(i,l));
else
pit2(i,l)=1;
end
end
end
fi2(k,n,:)=prod(pit2,2);
end
end
pm=(2+sin(6*pi*xm))./(1+10*xm.^2);
for i=1:size(xm,1)
pmt=pm(i,:);
fit=fi2(:,:,i);
Pmn(i,:)=pmt*fit;
end
for n=1:length(x)
for i=1:size(xm,1)
if x(n) <= xm(i,size(xm,2)) & x(n) >= xm(i,1)
Pn2(n)=Pmn(i,n);
end
end
end
[Error2]=norm1trap(x,fx,Pn2)
figure,hold,title(['f(x) y su polinomio interpolante de Lagrange a
tramos N=' num2str(N)])
plot(x,fx,x,Pn2,'r')
legend('Funcion f(x)','Polinomio Pn(t)')
%PREGUNTA iii)
for k=1:length(t)-1
for n=1:length(x)
fi3(k,n)=-(x(n)-t(k+1))^2*(2*x(n)-3*t(k)+t(k+1))/(t(k)-
t(k+1))^3;
fi31(k,n)=-(x(n)-t(k))^2*(2*x(n)-3*t(k+1)+t(k))/(t(k+1)-
t(k))^3;
psi(k,n)=(x(n)-t(k))*(x(n)-t(k+1))^2/(t(k)-t(k+1))^2;
psi1(k,n)=(x(n)-t(k+1))*(x(n)-t(k))^2/(t(k+1)-t(k))^2;
end
end
ppk=6*pi*cos(6*pi*t)./(1+10*t.^2)-(1+10*t.^2).^(-
2)*20.*t.*(2+sin(6*pi*t));
for n=1:length(x)
for k=1:length(t)-1
Pn3(n,k)=pk(k)*fi3(k,n)+pk(k+1)*fi31(k,n)+ppk(k)*psi(k,n)
+ppk(k+1)*psi1(k,n);
if x(n) <= t(k+1) & x(n) >= t(k)
Pn4(n)=Pn3(n,k);
end
end
end
[Error3]=norm1trap(x,fx,Pn4)
figure,hold,title(['f(x) y su polinomio interpolante de Hermite a
tramos N=' num2str(N)])
plot(x,fx,x,Pn4,'r')
legend('Funcion f(x)','Polinomio Pn(t)')
if N==20, clear all, end
end
Tchebycheff.m
for N=20:10:30
%inicializacion de espacio x
x=linspace(-1,1,1001);
fx=(2+sin(6*pi*x))./(1+10*x.^2);
i=[0:N];
t=-cos((2*i+1)*pi/(2*(N+1)));
t(1)=-1;
t(length(t))=1;
pk=(2+sin(6*pi*t))./(1+10*t.^2);
%PREGUNTA i)
figure,hold,title(['Polinomios de Lagrange N=' num2str(N)])
for k=1:length(t)
for n=1:length(x)
for l=1:length(t) %pitatoria
if l~=k
pit(l)=(x(n)-t(l))/(t(k)-t(l));
else
pit(l)=1;
end
end
fi(k,n)=prod(pit);
end
plot(x,fi(k,:))
end
figure,hold,title(['f(x) y su polinomio interpolante de Lagrange N='
num2str(N)])
Pn=pk*fi;
[Error1]=norm1trap(x,fx,Pn)
plot(x,fx,x,Pn,'r')
legend('Funcion f(x)','Polinomio Pn(t)')
%PREGUNTA ii)
for k=1:length(t)-1
xm(k,:)=linspace(t(k),t(k+1),3);
end
for k=1:size(xm,2)
for n=1:length(x)
for i=1:size(xm,1)
for l=1:size(xm,2) %pitatoria
if l~=k
pit2(i,l)=(x(n)-xm(i,l))/(xm(i,k)-xm(i,l));
else
pit2(i,l)=1;
end
end
end
fi2(k,n,:)=prod(pit2,2);
end
end
pm=(2+sin(6*pi*xm))./(1+10*xm.^2);
for i=1:size(xm,1)
pmt=pm(i,:);
fit=fi2(:,:,i);
Pmn(i,:)=pmt*fit;
end
for n=1:length(x)
for i=1:size(xm,1)
if x(n) <= xm(i,size(xm,2)) & x(n) >= xm(i,1)
Pn2(n)=Pmn(i,n);
end
end
end
[Error2]=norm1trap(x,fx,Pn2)
figure,hold,title(['f(x) y su polinomio interpolante de Lagrange a
tramos N=' num2str(N)])
plot(x,fx,x,Pn2,'r')
legend('Funcion f(x)','Polinomio Pn(t)')
%PREGUNTA iii)
for k=1:length(t)-1
for n=1:length(x)
fi3(k,n)=-(x(n)-t(k+1))^2*(2*x(n)-3*t(k)+t(k+1))/(t(k)-
t(k+1))^3;
fi31(k,n)=-(x(n)-t(k))^2*(2*x(n)-3*t(k+1)+t(k))/(t(k+1)-
t(k))^3;
psi(k,n)=(x(n)-t(k))*(x(n)-t(k+1))^2/(t(k)-t(k+1))^2;
psi1(k,n)=(x(n)-t(k+1))*(x(n)-t(k))^2/(t(k+1)-t(k))^2;
end
end
ppk=6*pi*cos(6*pi*t)./(1+10*t.^2)-(1+10*t.^2).^(-
2)*20.*t.*(2+sin(6*pi*t));
for n=1:length(x)
for k=1:length(t)-1
Pn3(n,k)=pk(k)*fi3(k,n)+pk(k+1)*fi31(k,n)+ppk(k)*psi(k,n)
+ppk(k+1)*psi1(k,n);
if x(n) <= t(k+1) & x(n) >= t(k)
Pn4(n)=Pn3(n,k);
end
end
end
[Error3]=norm1trap(x,fx,Pn4)
figure,hold,title(['f(x) y su polinomio interpolante de Hermite a
tramos N=' num2str(N)])
plot(x,fx,x,Pn4,'r')
legend('Funcion f(x)','Polinomio Pn(t)')
if N==20, clear all, end
end
norm1trap.m
function [Error]=norm1trap(x,fx,Pn)
d = abs(fx-Pn);
for i=1:length(x)-1
s(i)=(d(i)+d(i+1))/2*(x(i+1)-x(i));
end
Error=sum(s);
return