Taller Interpolacion
Taller Interpolacion
Taller Interpolacion
Taller: INTERPOLACIÓN
Presentado por:
Ingrid Yurany Rangel Alvarado - 2164706.
Andres Felipe Hurtado Arzusa - 2164751
Juan Sebastián Crispín Guerra - 2161454
William Esteban Ladino Cáceres – 2162487
METODOS NUMERICOS
Profesor : NAREN ALRLEY MANTILLA RAMIREZ
2020-1
RESUMEN
EJERCICIOS
1. Use los polinomios de interpolación Lagrange apropiados de grados uno, dos y tres para
aproximar cada uno de los siguientes:
clear,clc
format short
x = [8.1 8.3 8.6 8.7];
y = [16.94410 17.56492 18.50515 18.82091];
xint =8.4;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
f_int_lagranje(x,xint,y)
Aproximación = 17.8771
ans = 17.8771
clear,clc
format short
x = [-0.75 -0.5 -0.25 0];
y = [-0.07181250 -0.02475000 0.33493750 1.10100000];
xint =-1/3;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
Aproximación = 0.1745
ans = 0.1745
clear,clc
format short
x = [0.1 0.2 0.3 0.4];
y = [0.62049958 -0.28398668 0.00660095 0.24842440];
xint =0.25;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
f_int_lagranje(x,xint,y)
Aproximación = -0.2103
ans = -0.2103
clear,clc
format short
x = [0.6 0.7 0.8 1];
y = [-0.17694460 0.01375227 0.22363362 0.65809197];
xint =0.9;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
f_int_lagranje(x,xint,y)
Aproximacion = 0.4420
ans = 0.4420
2. Use los polinomios de interpolación Lagrange apropiados de los grados uno, dos y tres para
aproximar cada uno de los siguientes:
clear,clc
format short
x = [0 0.25 0.5 0.75];
y = [1 1.64872 2.71828 4.48169];
xint =0.43;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
Metodo de interpolación Lagrange para 0.43
f_int_lagranje(x,xint,y)
Aproximacion = 2.3606
ans = 2.3606
clear,clc
format short
x = [-0.5 -0.25 0.25 0.5];
y = [1.93750 1.33203 0.800781 0.687500];
xint =0;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
f_int_lagranje(x,xint,y)
Aproximacion = 0.9844
ans = 0.9844
clear,clc
format short
x = [0.1 0.2 0.3 0.4];
y = [-0.29004986 -0.56079734 -0.81401972 -1.0526302];
xint =0.18;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
f_int_lagranje(x,xint,y)
Aproximacion = -0.5081
ans = -0.5081
clear,clc
format short
x = [-1 -0.5 0 0.5];
y = [0.86199480 0.95802009 1.0986123 1.2943767];
xint =0.25;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
Aproximacion = 1.1889
ans = 1.1889
3. Sea f(x)=x+2/x.
a. Utilice la interpolación cuadrática de Lagrange basada en los nodos x0=1, x1=2 y x2=2.5
para aproximar f(1.5), f(1.2).
• Para f(1.5)
clear,clc
format short
x = [1 2 2.5];
y = [3 3 3.3];
xint =1.5;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
f_int_lagranje(x,xint,y)
Aproximacion = 2.9000
ans = 2.9000
• Para f(1.2)
clear,clc
format short
x = [1 2 2.5];
y = [3 3 3.3];
xint =1.2;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
f_int_lagranje(x,xint,y)
Aproximacion = 2.9360
ans = 2.9360
b. Utilice la interpolación cúbica de Lagrange basada en los nodos x0=0.5, x1=1, x2=2 y
x3=2.5 para aproximar f(1.5), f(1.2).
• Para f(1.5)
clear,clc
format short
x = [0.5 1 2 2.5];
y = [4.5 3 3 3.3];
xint =1.5;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
f_int_lagranje(x,xint,y)
Aproximacion = 2.7000
ans = 2.7000
• Para f(1.2)
clear,clc
format short
x = [0.5 1 2 2.5];
y = [4.5 3 3 3.3];
xint =1.2;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
f_int_lagranje(x,xint,y)
Aproximacion = 2.7696
ans = 2.7696
a. Utilice la interpolación cuadrática de Lagrange basada en los nodos x0=0, x1=1 y x2=3 para
aproximar f(2) y f(2.4)
• Para f(2)
clear,clc
format short
x = [0 1 3];
y = [0 1 2];
xint =2;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
f_int_lagranje(x,xint,y)
Aproximacion = 1.6667
ans = 1.6667
• Para f(2.4)
clear,clc
format short
x = [0 1 3];
y = [0 1 2];
xint =2.4;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
f_int_lagranje(x,xint,y)
Aproximacion = 1.8400
ans = 1.8400
b. Use la interpolación cúbica de Lagrange basada en los nodos x0=0, x1=1, x2=3 y x3=5 para
aproximar f(2) y f(2.4)
• Para f (2)
clear,clc
format short
x = [0 1 3 5];
y = [0 1 2 1];
xint =2;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
f_int_lagranje(x,xint,y)
Aproximacion = 1.7000
ans = 1.7000
• Para f (2.4)
clear,clc
format short
x = [0 1 3 5];
y = [0 1 2 1];
xint =2.4;
fprintf('Metodo de interpolación Lagrange para %4.2f ',xint)
Aproximacion = 1.8736
ans = 1.8736
• Para 4.5
clear,clc
x = [4 5 6 7 8];
y = [2.00000 2.23607 2.44949 2.64575 2.8284];
xint = 4.5;
fprintf('Metodo de interpolación Newton para %4.2f ',xint)
f_int_newton(x,xint,y)
Aproximacion = 2.1213
TablaDeDiferenciasDivididas = 5×6
4.0000 2.0000 0.2361 -0.0113 0.0009 -0.0001
5.0000 2.2361 0.2134 -0.0086 0.0006 0
6.0000 2.4495 0.1963 -0.0068 0 0
7.0000 2.6458 0.1826 0 0 0
8.0000 2.8284 0 0 0 0
ans = 1×5
2.0000 2.1180 2.1209 2.1212 2.1213
• Para 7.5
clear,clc
x = [4 5 6 7 8];
y = [2.00000 2.23607 2.44949 2.64575 2.8284];
xint = 7.5;
[yin,tabla]=f_int_newton(x,xint,y)
Aproximacion = 2.7386
TablaDeDiferenciasDivididas = 5×6
4.0000 2.0000 0.2361 -0.0113 0.0009 -0.0001
5.0000 2.2361 0.2134 -0.0086 0.0006 0
6.0000 2.4495 0.1963 -0.0068 0 0
7.0000 2.6458 0.1826 0 0 0
8.0000 2.8284 0 0 0 0
yin = 1×5
2.0000 2.8262 2.7272 2.7392 2.7386
tabla = 5×6
4.0000 2.0000 0.2361 -0.0113 0.0009 -0.0001
5.0000 2.2361 0.2134 -0.0086 0.0006 0
6.0000 2.4495 0.1963 -0.0068 0 0
7.0000 2.6458 0.1826 0 0 0
8.0000 2.8284 0 0 0 0
poli_4(tabla,x)
El polinomio de grado 4 es
ans =
valores de x evaluados en el polinomio de grado 4
ans = 1×5
2.0000 2.2361 2.4495 2.6458 2.8284
poli_3(tabla,x)
El polinomio de grado 3 es
ans =
valores de x evaluados en el polinomio de grado 4
ans = 1×5
2.0000 2.2361 2.4495 2.6458 2.8303
poli_2(tabla,x)
El polinomio de grado 2 es
ans =
valores de x evaluados en el polinomio de grado 4
ans = 1×5
2.0000 2.2361 2.4495 2.6403 2.8084
poli_1(tabla,x)
El polinomio de grado 1 es
ans =
valores de x evaluados en el polinomio de grado 4
ans = 1×5
2.0000 2.2361 2.4721 2.7082 2.9443
• Para 2.5
clear,clc
x = [1 2 3 4 5];
y = [3.60 1.80 1.20 0.90 0.72];
xint = 2.5;
f_int_newton(x,xint,y)
Aproximacion = 1.4231
TablaDeDiferenciasDivididas = 5×6
1.0000 3.6000 -1.8000 0.6000 -0.1500 0.0300
2.0000 1.8000 -0.6000 0.1500 -0.0300 0
3.0000 1.2000 -0.3000 0.0600 0 0
4.0000 0.9000 -0.1800 0 0 0
5.0000 0.7200 0 0 0 0
ans = 1×5
3.6000 0.9000 1.3500 1.4062 1.4231
• Para 3.5
clear,clc
x = [1 2 3 4 5];
y = [3.60 1.80 1.20 0.90 0.72];
xint = 3.5;
[yin,tabla]=f_int_newton(x,xint,y)
Aproximacion = 1.0406
TablaDeDiferenciasDivididas = 5×6
1.0000 3.6000 -1.8000 0.6000 -0.1500 0.0300
2.0000 1.8000 -0.6000 0.1500 -0.0300 0
3.0000 1.2000 -0.3000 0.0600 0 0
4.0000 0.9000 -0.1800 0 0 0
5.0000 0.7200 0 0 0 0
yin = 1×5
3.6000 -0.9000 1.3500 1.0688 1.0406
tabla = 5×6
1.0000 3.6000 -1.8000 0.6000 -0.1500 0.0300
2.0000 1.8000 -0.6000 0.1500 -0.0300 0
3.0000 1.2000 -0.3000 0.0600 0 0
4.0000 0.9000 -0.1800 0 0 0
5.0000 0.7200 0 0 0 0
poli_4(tabla,x)
El polinomio de grado 4 es
ans =
valores de x evaluados en el polinomio de grado 4
ans = 1×5
3.6000 1.8000 1.2000 0.9000 0.7200
poli_3(tabla,x)
El polinomio de grado 3 es
ans =
valores de x evaluados en el polinomio de grado 4
ans = 1×5
3.6000 1.8000 1.2000 0.9000 0
poli_2(tabla,x)
El polinomio de grado 2 es
ans =
valores de x evaluados en el polinomio de grado 4
ans = 1×5
3.6000 1.8000 1.2000 1.8000 3.6000
poli_1(tabla,x)
El polinomio de grado 1 es
ans =
valores de x evaluados en el polinomio de grado 4
ans = 1×5
3.6000 1.8000 0 -1.8000 -3.6000
• Para 1.5
clear,clc
x = [1 2 3 4 ];
y = [0 0.75 2.25 3 2.25];
xint = 1.5;
f_int_newton(x,xint,y)
Aproximacion = 0.1875
TablaDeDiferenciasDivididas = 4×5
1.0000 0 0.7500 0.3750 -0.2500
2.0000 0.7500 1.5000 -0.3750 0
3.0000 2.2500 0.7500 0 0
4.0000 3.0000 0 0 0
ans = 1×4
0 0.3750 0.2813 0.1875
• Para 3.5
clear,clc
x = [1 2 3 4 ];
y = [0 0.75 2.25 3 2.25];
xint = 3.5;
fprintf('Metodo de interpolación Newton para %4.2f ',xint)
[yin,tabla]=f_int_newton(x,xint,y)
Aproximacion = 2.8125
TablaDeDiferenciasDivididas = 4×5
1.0000 0 0.7500 0.3750 -0.2500
2.0000 0.7500 1.5000 -0.3750 0
3.0000 2.2500 0.7500 0 0
4.0000 3.0000 0 0 0
yin = 1×4
0 1.8750 3.2813 2.8125
tabla = 4×5
1.0000 0 0.7500 0.3750 -0.2500
2.0000 0.7500 1.5000 -0.3750 0
3.0000 2.2500 0.7500 0 0
4.0000 3.0000 0 0 0
poli_3(tabla,x)
El polinomio de grado 3 es
ans =
valores de x evaluados en el polinomio de grado 4
ans = 1×4
0 0.7500 2.2500 3.0000
poli_2(tabla,x)
El polinomio de grado 2 es
ans =
valores de x evaluados en el polinomio de grado 4
ans = 1×4
0 0.7500 2.2500 4.5000
poli_1(tabla,x)
El polinomio de grado 1 es
ans =
valores de x evaluados en el polinomio de grado 4
ans = 1×4
0 0.7500 1.5000 2.2500
• Para 0.5
clear,clc
x = [0 1 2 3 4];
y = [1 0.36788 0.13534 0.04979 0.01832];
xint = 0.5;
fprintf('Metodo de interpolación Newton para %4.2f ',xint)
f_int_newton(x,xint,y)
Aproximacion = 0.6120
TablaDeDiferenciasDivididas = 5×6
0 1.0000 -0.6321 0.1998 -0.0421 0.0067
1.0000 0.3679 -0.2325 0.0735 -0.0155 0
2.0000 0.1353 -0.0855 0.0270 0 0
3.0000 0.0498 -0.0315 0 0 0
4.0000 0.0183 0 0 0 0
ans = 1×5
1.0000 0.6839 0.6340 0.6182 0.6120
• Para 1.5
clear,clc
x = [0 1 2 3 4];
y = [1 0.36788 0.13534 0.04979 0.01832];
xint = 1.5;
fprintf('Metodo de interpolación Newton para %4.2f ',xint)
[yin,tabla]=f_int_newton(x,xint,y)
Aproximacion = 0.2212
TablaDeDiferenciasDivididas = 5×6
0 1.0000 -0.6321 0.1998 -0.0421 0.0067
1.0000 0.3679 -0.2325 0.0735 -0.0155 0
2.0000 0.1353 -0.0855 0.0270 0 0
3.0000 0.0498 -0.0315 0 0 0
4.0000 0.0183 0 0 0 0
yin = 1×5
1.0000 0.0518 0.2017 0.2174 0.2212
tabla = 5×6
0 1.0000 -0.6321 0.1998 -0.0421 0.0067
1.0000 0.3679 -0.2325 0.0735 -0.0155 0
2.0000 0.1353 -0.0855 0.0270 0 0
3.0000 0.0498 -0.0315 0 0 0
4.0000 0.0183 0 0 0 0
poli_4(tabla,x)
El polinomio de grado 4 es
ans =
valores de x evaluados en el polinomio de grado 4
ans = 1×5
1.0000 0.3679 0.1353 0.0498 0.0183
poli_3(tabla,x)
El polinomio de grado 3 es
ans =
valores de x evaluados en el polinomio de grado 4
ans = 1×5
1.0000 0.3679 0.1353 0.0498 -0.1414
poli_2(tabla,x)
El polinomio de grado 2 es
ans =
valores de x evaluados en el polinomio de grado 4
ans = 1×5
1.0000 0.3679 0.1353 0.3024 0.8690
poli_1(tabla,x)
El polinomio de grado 1 es
ans =
valores de x evaluados en el polinomio de grado 4
ans = 1×5
1.0000 0.3679 -0.2642 -0.8964 -1.5285
pronostique f(2.25).
clear,clc
x = [1.6 2 2.5 3.2 4 4.5];
y = [2 8 14 15 8 2];
xint = 2.25;
fprintf('Metodo de interpolación por trazadores cubicos para %4.2f ',xint)
TrazadoresC(x,y,xint)
ans = 11.3969
verificacin=spline(x,y,xint)
verificacin = 11.4167
pronostique f(2.25).
clear,clc
x = [1 2 3 5 7 8];
y = [3 6 19 99 291 444];
xint = 2.25;
fprintf('Metodo de interpolación por trazadores cubicos para %4.2f ',xint)
TrazadoresC(x,y,xint)
ans = 8.0079
verificacin=spline(x,y,xint)
verificacin = 8.0781