Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Capitulo Iv Interpolacion PDF
Capitulo Iv Interpolacion PDF
1. INTRODUCCION
Muchas veces se requiere estimar valores intermedios entre datos precisos, como
por ejemplo cuando se desea estimar valores de densidad de algún fluido a
diferentes temperaturas, lo mismo ocurre con otras propiedades termodinámicas
de los fluidos, tales como: Capacidad calorífica, viscosidad, etc.
Ejemplos de interpolación:
Interpolación lineal
Interpolación curvilínea
f ( x1
f 1 ( x)
f ( x0 )
X0 X X1
f1 ( x) − f ( x 0 ) f ( x1 ) − f ( x0 )
=
x − x0 x1 − x0
f ( x1 ) − f ( x0 )
f1 ( x) = f ( x 0 ) + (x − x 0 )
x1 − x0
Ejemplo:
Estimar el logaritmo natural de 2; tendiendo como datos
Ln(1)= 0
Ln(4)=1.386294
f ( x1 ) − f ( x0 )
f1 ( x) = f ( x 0 ) + (x − x 0 )
x1 − x0
1.386294 − 0
f1 ( x) = 0 + (2 − 1) = 0.462098
4 −1
Vv − Aprox 0.693147 − 0.462098
εt = 100 = 100 = 33.33
Vv 0.693147
2.2. Interpolación cuadrática
Para mejorar la estimación se puede introducir alguna curvatura a la línea que
conecta los puntos. Esto puede realizarse con un polinomio de segundo
orden.
f 2 ( x) = bo + b1 ( x − x0 ) + b2 ( x − x0 )( x − x1 )
Donde
bo = f ( xo )
f ( x1 ) − f ( x0 )
b1 =
x1 − x0
f ( x 2 ) − f ( x1 ) f ( x1 ) − f ( x0 )
−
x 2 − x1 x1 − x0
b2 =
x 2 − x0
Ejemplo:
Estimar el logaritmo natural de 2; tendiendo como datos
Ln(1)= 0
Ln(4)=1.386294
Ln(6)=1.791759
Solución:
x0 = 1 f ( x0 ) = 0
x1 = 4 f ( x1 ) = 1.386294
x2 = 6 f ( x2 ) = 1.791759
bo = f ( xo ) = 0
1.386294 − 0
b1 = = 0.4620981
4 −1
1.791759 − 1.386294 1.386294 − 0
−
b2 = 6−4 4−0 = −0.0518731
6−0
Luego reemplazamos en la ecuación cuadrática:
f 2 (2) = 0 + 0.4620981( x − 1) − 0.0518731( x − 1)( x − 4)
>> f=feval(f2,2)
f=
0.5658443
El error sería:
Vv − Aprox 0.5658443 − 0.6931472
εt = 100 = 100 = 18.4%
Vv 0.6931472
f n ( x) = bo + b1 ( x − x0 ) + b2 ( x − x0 )( x − x1 ) + L + bn ( x − x0 )( x − x1 )L( x − xn−1 )
Donde:
bo = f ( xo )
b1 = f [x1 , x0 ]
b2 = f [x2 , x1 , x0 ]
M
bn = f [xn , xn−1 ,L, x1 , x0 ]
[ ] f [xi , xxj ] −− xf [x j , xk ]
f xi , x j , xk =
i k
La n-ésima diferencia dividida finita es:
f [xn , xn−1 ,L, x1 ] − f [xn−1 , xn−2 ,L, x0 ]
f [xn , xn−1 ,L, x1 , x0 ] =
xn − x0
Ejemplo:
Estimar el logaritmo natural de 2; tendiendo como datos
Ln(1)= 0
Ln(4)=1.386294
Ln(6)=1.791759
Ln(5)=1.609438
Solución:
x0 = 1 f ( x0 ) = 0
x1 = 4 f ( x1 ) = 1.386294
x2 = 6 f ( x2 ) = 1.791759
x3 = 5 f ( x3 ) = 1.609438
[
f xi , x j , xk =] f [xi , xxj ] −− xf [x j , xk ]
i k
f [x2 , x1 ] − f [x1 , x0 ] 0.20273255 − 0.46209812
f [x2 , x1 , x0 ] = = = -0.05187311
x2 − x0 6 −1
f [x3 , x2 ] − f [x2 , x1 ] 0.18232156 − 0.20273255
f [x3 , x2 , x1 ] = = = -0.02041100
x3 − x1 5−4
La tercera diferencia dividida será:
f [xn , xn −1 , L, x1 ] − f [xn −1 , xn − 2 , L, x0 ]
f [xn , xn −1 , L, x1 , x0 ] =
xn − x0
f [x3 , x2 , x1 ] − f [x2 , x1 , x0 ]
f [x3 , x2 , x1 , x0 ] = =
x3 − x0
- 0.02041100 - (- 0.05187311)
f [x3 , x2 , x1 , x0 ] = = 0.00786552 9
5 -1
Establecimiento de la ecuación polinómica
bo = f ( xo ) = 0
b1 = f [x1 , x0 ] = 0.46209812
b2 = f [x2 , x1 , x0 ] = −0.05187311
b3 = f [x3 , x2 , x1 , x0 ] = 0.007865529
f n ( x ) = bo + b1 ( x − x 0 ) + b2 ( x − x 0 )( x − x1 ) + b3 ( x − x 0 )( x − x1 )( x − x 2 )
f 3 ( 2) = 0 + 0 .46209812 ( x − 1) − 0 .05187311 ( x − 1)( x − 4) + 0 .007865529 ( x − 1)( x − 4 )( x − 6)
>> vf3=feval(f3,2)
vf3 =
0.62876855
Donde:
n
x− xj
Li ( x) = ∏x −x
j =0 i j
∏ designa el “producto de”
Ejemplo:
Estimar el logaritmo natural de 2; tendiendo como datos
Ln(1)= 0
Ln(4)=1.386294
Ln(6)=1.791759
Solución
I x f(x)
0 1 0
1 4 1.386294
2 6 1.791756
( x − x1 )( x − x2 ) ( x − x0 )( x − x2 ) ( x − x0 )( x − x1 )
f 2 ( x) = f ( x0 ) + f ( x1 ) + f ( x2 )
( x0 − x1 )( x0 − x2 ) ( x1 − x0 )( x1 − x2 ) ( x2 − x0 )( x2 − x1 )
( x − 4)( x − 6) ( x − 1)( x − 6) ( x − 1)( x − 4)
f 2 (2) = 0+ 1.386294 + 1.791756 = 0.565844
(1 − 4)(1 − 6) (4 − 1)(4 − 6) (6 − 1)(6 − 4)
4. INTERPOLACIÓN SEGMENTARIA
En el polinomio de Newton, para ocho puntos se puede derivar un polinomio de
séptimo orden.
A veces estas funciones pueden generar errores de redondeo y puntos alejados.
La alternativa es aplicar polinomios de orden inferior a subconjuntos de datos.
Estos polinomios conectores se llaman Funciones Segmentarias.
f ( x) = f ( x0 ) + m0 ( x − x0 )
f ( x) = f ( x1 ) + m1 ( x − x1 ) x0 ≤ x ≤ x1
f ( xi+1 ) − f ( xi ) x1 ≤ x ≤ x2
mi =
xi+1 − xi
Ejemplo:
Ajustar los datos que se muestran con segmentarias de primer orden. Evaluar
la función en x=5
x f(x)
3.0 2.5
4.5 1.0
7.0 2.5
9.0 0.5
Solución
El intervalo será: 4.5<X<7; porque allí se encuentra el valor a interpolar que
es X = 5
Cálculo de la pendiente
f ( xi+1 ) − f ( xi ) 2.5 − 1.0
mi = = = 0.60
xi+1 − xi 7.0 − 4.5
Luego:
f ( x) = f ( x0 ) + m0 ( x − x0 )
f (5) = 1.0 + 0.60(5 − 4.5)
f (5) = 1.0 + 0.30 = 1.30
En consecuencia la ecuación será:
f ( x) = f ( x0 ) + m0 ( x − x0 )
f ( x) = 1.0 + 0.60( x − 4.5)
f ( x) = 1.0 + 0.60 x − 2.7 = −1.7 + 0.60 x
Ejemplo:
Ajustar los datos que se muestran con segmentarias cuadráticas. Evaluar la
función en x=5
x f(x)
3.0 2.5
4.5 1.0
7.0 2.5
9.0 0.5
Solución
Se tienen 4 datos con n=3 intervalos; entonces 3(n)=3(3)= 9 ecuaciones o
condiciones
>> V=bicg(B,a)
bicg stopped at iteration 8 without converging to the desired tolerance 1e-
006
because the maximum number of iterations was reached.
The iterate returned (number 8) has relative residual 0.00025
V=
-1.00
5.50
0.64
-6.76
18.46
-1.60
24.60
-91.30
a1 = 0
b1 = − 1.00
c1 = 5.50
a2 = 0.64
b2 = − 6.76
c2 = 18.46
a3 = 1.60
b3 = 24.60
c3 = − 91.30
f i'' ( xi −1 ) f i'' ( xi )
f i ( x) = ( xi − x) 3 + ( x − xi −1 )3
6( xi − xi −1 ) 6( xi − xi −1 )
f ( xi −1 ) f " ( xi −1 )( xi − xi −1 )
+ − ( xi − x)
x
i − x i −1 6 (1)
f ( xi ) f " ( xi )( xi − xi −1 )
+ − ( x − xi −1 )
xi − xi −1 6
Las incógnitas son las segundas derivadas al final del intervalo, se pueden
evaluar:
=
6
[ f ( xi +1 ) − f ( xi )] + 6 [ f ( xi −1 ) − f ( xi )] (2)
xi +1 − xi xi − xi −1
Ejemplo:
Ajustar los datos que se muestran con segmentarias cúbicas. Evaluar la
función en x=5
x f(x)
3.0 2.5
4.5 1.0
7.0 2.5
9.0 0.5
Solución
PARA EL PRIMER INTERVALO 3 < X <4.5
x f(x)
3.0 2.5
4.5 1.0
7.0 2.5
=
6
[ f ( xi +1 ) − f ( xi )] + 6 [ f ( xi −1 ) − f ( xi )]
xi +1 − xi xi − xi −1
(4.5 − 3) f " (3) + 2(7 − 3) f " (4.5) + (7 − 4.5) f " (7)
=
6
[2.5 − 1.0)] + 6 [2.5 − 1]
7 − 4.5 4.5 − 3
Debido a la condición segmentaria natural f " (3) = 0 (nodo extremo)
8 f " (4.5) + 2.5 f " (7) = 9.6
X f(x)
3.0 2.5
4.5 1.0
7.0 2.5
9.0 0.5
=
6
[ f ( xi +1 ) − f ( xi )] + 6 [ f ( xi −1 ) − f ( xi )]
xi +1 − xi xi − xi −1
(7 − 4.5) f " (4.5) + 2(9 − 4.5) f " (7) + (9 − 7) f " (9)
=
6
[0.5 − 2.5] + 6 [1 − 2.5]
9−7 7 − 4.5
Debido a la condición segmentaria natural f " (9) = 0 (nodo extremo)
2.5 f " (4.5) + 9 f " (7) = −9.6
Las dos ecuaciones de segundas derivadas son:
8 f " (4.5) + 2.5 f " (7) = 9.6
2.5 f " (4.5) + 9 f " (7) = −9.6
Donde:
f " (4.5) = 1.67909
f " (7) = −1.53308
Graficando:
>> x=[3 4.5 7 9];
>> y=[2.5 1 2.5 0.5];
>> xx=[3:0.1:4.5];
>> yy=0.186566*(xx-3).^3+1.666667.*(4.5-xx)+0.246894.*(xx-3);
>> xx2=[4.5:0.1:7];
>> yy2=0.111939*(7-xx2).^3-0.102205.*(xx2-4.5).^3-0.299621.*(7-
xx2)+1.638783*(xx2-4.5);
>> xx3=[7:0.1:9];
>> yy3=-0.127757+(9-xx3).^3+1.761027+(9-xx3)+0.25*(xx3-7);
>> plot(x,y,'o',xx,yy,xx2,yy2,xx3,yy3),grid
INTERPOLACION CUBICA SEGMENTARIA
3
2.5
Primer Intervalo
2
f(x)
Segundo Intervalo
1
0.5
3 4 5 6 7 8 9
x
Ejemplo:
Estimar el logaritmo natural de 2; teniendo los siguientes datos
Ln(1)= 0
Ln(4)=1.386294
Ln(6)=1.791759
f(x)
0.8
>> yy=spline(x,y,2)
0.6
yy =
0.6931 0.4
0.2
0
1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6
x
Ejemplo:
Ajustar los datos que se muestran con segmentarias cuadráticas. Evaluar la
función en x=5
x f(x)
3.0 2.5
4.5 1.0
7.0 2.5
9.0 0.5
1.1518518 1.5
valor interpolado
0.5
3 4 5 6 7 8 9
x
b) Interp1
Efectúa una interpolación de acuerdo a la siguiente tabla adjunta
Sintaxis
yi = interp1(x,Y,xi)
yi = interp1(x,Y,xi,metodo)
Descripción:
yi = interp1(x,Y,xi)
yi = interp1(x,Y,xi,metodo)
De manera similar que al anterior, con el adicional que se puede definir un
método
‘linear’: usa interpolación lineal (por defecto)
‘spline’: usa interpolación segmentaria cubica
Ejemplo:
Estimar el logaritmo natural de 2; tendiendo como datos
Ln(1)= 0
Ln(4)=1.386294
Ln(6)=1.791759
0.8
yy = 0.4
0.69314718055995 0.2
valor interpolado
0
1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6
x
Ejemplo:
Ajustar los datos que se muestran con segmentarias. Evaluar la función en
x=5
X f(x)
3.0 2.5
4.5 1.0
7.0 2.5
9.0 0.5
Solución lineal:
>> x=[3 4.5 7 9]; 2.5
INTERPOLACION LINEAL
>> plot(x,fx,'o',xx,yy),grid
>> yy=interp1(x,fx,5)
f(x)
1.5
yy =
1.30
1
valor interpolado
0.5
3 4 5 6 7 8 9
x
Solución cúbica:
>> plot(x,fx,'o',xx,yy1),grid
>> yy1=interp1(x,fx,5,'spline') 2
f(x)
yy1 = 1.5
1.1519
1
0.5
3 4 5 6 7 8 9
x
EJERCICIOS
Encontrando el modelo:
>> p=polyfit(f1,k1,1)
p=
18.0365 0.8127
y = a1 X + a 0 1
= 0.8127
1 1 k max
= 18 .0365 + 0 .8127
k f k max = 1 .2305
K
= 18 .0365
k max
K = 18 .0365 * 1.2305 = 22 .1781
>> data=[T;z]'
data =
22.8000 0
22.8000 2.3000
22.8000 4.9000
20.6000 9.1000
13.9000 13.7000
11.7000 18.3000
11.1000 22.9000
11.1000 27.2000
Temperatura - profundidad del lago
0
-5 Epilimnion
-10
Thermocline
z(m)
-15
-20
Hypolimnion
-25
-30
10 12 14 16 18 20 22 24
T(ºC)
Solución:
Usando la herramienta Toolbox:
Profund(m) T(ºC) dT/dz d2T/dz2
0 22.8 -0.08102 0.103522
1 22.7636 0.00093457 0.0603876
2 22.7875 0.0397552 0.0172536
3 22.8287 0.0354418 -0.0258804
4 22.844 -0.0120056 -0.0690144
Graficas de temperatura
25
fit 1
20
T(ºC)
15
10
1 z)m)
1st deriv
-1
-2
0.5 z(m)
2nd deriv
-0.5
0 5 10 15 20 25 30
z (m)
La profundidad de la capa Thermocline está entre 11.0 y 12.0; con una gradiente
de -1.6 ºC/m
Use una regresión lineal múltiple para analizar estos datos. Después use el
modelo resultante para predecir el flujo en una tubería con un diámetro de 2.5 pies
y una pendiente de 0.025 pies/pies
Solución:
La ecuación de potencias a evaluar es:
Q = a 0 D a1 S a 2
Donde:
Q : Flujo(pies3/s)
S : pendiente (pies/pies)
D : Diámetro tubería (pies)
a0, a1, a2 : coeficientes
∑ X 1i ∑ X 12i ∑
∑ X Y
X 1i X 2i a1 = 1i i
∑ X 2i ∑X 1i X 2i ∑
X 22i a 2
∑ X Y
2i i
SR
Sx/ y =
n − ( m + 1)
Generando los datos:
>> load tubo_1.txt
>> data1=tubo_1
data1 =
1.0000 0.0010 1.4000
2.0000 0.0010 8.3000
3.0000 0.0010 24.2000
1.0000 0.0100 4.7000
2.0000 0.0100 28.9000
m=2
n=9
∑x 1 = 2.3345 ∑ x x = −4.9032
1 2
∑ y = 11.6915
∑x 2 = −18.9031 ∑ x y = 3.9462
1
∑x 2
1 = 0.9548 ∑ x y = −22.2077
2
∑x 2
2 = 44.0780
Obs
Modelo
200
150
100
y
50
0
0.06
3
0.04
2.5
0.02 2
1.5
x2 0 1
x1
11. Tres ensayos de tensión fueron llevados a cabo en una barra de aluminio. En
Cada ensayo fue medida la deformación. Los resultados se muestran a
continuación:
12. La densidad del aire fue medida a varias altitudes. Los resultados fueron:
Use un ajuste cuadrático para determinar la densidad del aire a una altitud de 10.5
km.
13. La viscosidad del agua varia con la temperatura, tal como se presenta en la tabla.
Determinar un ajuste cúbico de los datos y determinar la viscosidad a T=10, 30, 60
y 19ºC.
14. La tabla nos muestra la masa (M) y el consumo promedio de combustible (C) de
los motores fabricados por Ford y Honda en el año 1999. Encontrar un ajuste
lineal C = a 0 + a1 M y la desviación estándar el r2.
15. La tabla nos muestra las eficiencias de algunos calderos. Determinar la ecuación
polinomial que mejor se ajuste para predecir la eficiencia térmica para el año 2000
16. La siguiente tabla nos muestra la variación de la conductividad térmica del sodio
con la temperatura T. Encontrar una ecuación de ajuste cuadrática usando los
mínimos cuadrados
18. Considerar el calor específico a presión constante del aire a bajas temperaturas,
tal como se muestra en la tabla adjunta, donde T es la temperatura (K) y Cp es el
calor específico (J/g-K). Determinar la ecuación C p = a + bT y graficar
T(K) Cp (
300 1.0045
400 1.0134
500 1.0296
600 1.0507
700 1.0743
800 1.0984
900 1.1212
1000 1.1410
19. Considerar el calor específico del aire a presión constante a altas temperaturas,
tal como se ve en la tabla adjunta, donde T es la temperatura en (K) y Cp, es el
calor específico en (J/g-K). Determinar la ecuación C p = a + bT + cT
2
y graficar
T(K) Cp (
1000 1.1410
1500 1.2095
2000 1.2520
2500 1.2782
3000 1.2955