Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
f 1 ( x) f ( x 0 ) f ( x1 ) f ( x 0 )
x x0 x1 x 0
f ( x1 ) f ( x 0 )
f 1 ( x) f ( x 0 ) x x0
x1 x 0
Ejemplo:
Estimar el logaritmo natural de 2; tendiendo como datos
Ln(1)= 0
Ln(4)=1.386294
f ( x1 ) f ( x 0 )
f 1 ( x) f ( x 0 ) x x0
x1 x 0
1.386294 0
f 1 ( x) 0 2 1 0.462098
4 1
Vv Aprox 0.693147 0.462098
t 100 100 33.33
Vv 0.693147
bo f ( xo ) 0
1.386294 0
b1 0.4620981
4 1
1.791759 1.386294 1.386294 0
b2 64 40 0.0518731
60
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 ) bn ( x x0 )( x x1 )( x xn1 )
Donde:
bo f ( xo )
b1 f x1 , x0
b2 f x 2 , x1 , x0
bn f x n , x n 1 ,, x1 , x0
f xi , x j , x k
f xi , x j f x j , x k
xi xk
La n-ésima diferencia dividida finita es:
f xn , xn1 ,, x1 f xn1 , xn2 ,, x0
f xn , xn1 ,, x1 , x0
x n x0
Ejemplo:
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 , x j f x j , xk
xi xk
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 54
La tercera diferencia dividida será:
f xn , xn 1 , , x1 f xn 1 , xn 2 , , x0
f xn , xn 1 , , 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 x0 ) b2 ( x x0 )( x x1 ) b3 ( x x0 )( x x1 )( x x2 )
f 3 ( 2) 0 0.46209812( x 1) 0.05187311( x 1)( x 4) 0.007865529( x 1)( x 4)( x 6)
Resolviendo con Matlab:
>> f3=inline('0+0.4620981*(x-1)-0.05187311*(x-1)*(x-4)+0.007865529*(x-1)*(x-
4)*(x-6)')
f3 =
Inline function:
f3(x) = 0+0.4620981*(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
j 0 i xj 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
El polinomio de primer orden, será:
( x x1 ) ( x x0 )
f1 ( x ) f ( x0 ) f ( x1 )
( x0 x1 ) ( x1 x0 )
( x 4) ( x 1)
f1 ( 2) 0 1.386294 0.4620981
(1 4) (4 1)
( 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.
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
(1)
Las incógnitas son las segundas derivadas al final del intervalo, se pueden
evaluar:
( xi xi 1 ) f " (
6
f
xi 1 xi
(2)
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
X f(x)
3.0 2.5
4.5 1.0
7.0 2.5
9.0 0.5
0 1.67909
f1 ( x ) ( 4 .5 x ) 3 ( x 3) 3
6(4.5 3) 6(4.5 3)
2.5 0( 4.5 3)
( 4 .5 x )
4 . 5 3 6
1 1.67909)(4.5 3)
( x 3)
4 . 5 3 6
1.67909 2 .5 0( 4.5 3)
f1 ( x) ( 4 .5 x ) 3 ( 4 .5 x )
6( 4.5 3) 4 . 5 3 6
1 1.67909)(4.5 3)
( x 3)
4 .5 3 6
f1 ( x) 0.186566( x 3) 3 1.6666667( 4.5 x) 0.246894( x 3)
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)
yy = 0.6
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)
Retorna un vector yi conteniendo los elementos correspondientes a los
elementos de xi y determinados con la interpolación de los vectores x e Y
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)
Ejemplo:
Estimar el logaritmo natural de 2; tendiendo como datos
Ln(1)= 0
Ln(4)=1.386294
Ln(6)=1.791759
>> plot(x,y,'o',xx,yy),grid 1
f(x)
0.8
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