Documentos de Académico
Documentos de Profesional
Documentos de Cultura
etodos Num
ericos (SC854)
Interpolaci
on
c M. Valenzuela 20072008
(26 de febrero de 2008)
1.
Definici
on del problema de interpolaci
on
Dada una tabla de valores (xi , fi ) se desea estimar f (x) para valores de x que no se
encuentran en la tabla.
2.
Interpolaci
on directa
En el caso mas usual, se desea pasar un polinomio por los datos. En el ejemplo mostrado
en la gura 1, debemos pasar un polinomio de orden 4 por estos puntos. Este polinomio es
de la siguiente forma:
P4 (x) = c1 x4 + c2 x3 + c3 x2 + c4 x + c5 .
(1)
El problema de interpolaci
on es encontrar los valores de las constantes ci que hagan que el
polinomio pase por los datos, es decir, que P4 (xi ) = fi . Sustituyendo los cinco valores de xi
se genera el siguiente sistema de 5 ecuaciones con 5 incognitas:
(0.4)4
(2.5)4
(4.3)4
(5.0)4
(6.0)4
(0.4)3
(2.5)3
(4.3)3
(5.0)3
(6.0)3
(0.4)2
(2.5)2
(4.3)2
(5.0)2
(6.0)2
0.4
2.5
4.3
5.0
6.0
1
1
1
1
1
c1
c2
c3
c4
c5
1.00
0.50
2.00
2.55
4.00
(2)
c=
0.0323
0.4581
2.3330
4.2102
2.3393
(3)
f
f1
f2
..
.
xn+1
fn+1
(4)
Interpolacion
f (x)
xi
0.4
2.5
4.3
5.0
6.0
fi
1.00
0.50
2.00
2.55
4.00
f (x0 )
x0
Figura 1: Dado un conjunto de datos (xi , fi ), se desea encontrar para cualquiera x0 el valor
correspondiente f (xo )
El polinomio de orden n esta dado por
Pn (x) = c1 xn + c2 xn1 + + cn x + cn+1
donde los coecientes ci se obtienen de resolver el sistema de ecuaciones dado por
xn1
xn2
..
.
xn1
1
n1
x2
..
.
x1
x2
..
.
1
1
..
.
xnn+1 xn1
n+1 xn+1 1
c1
c2
..
.
cn+1
f1
f2
..
.
fn+1
3.
Polinomio de Lagrange
El polinomio de Lagrange de orden n tiene la siguiente forma general:
Pn (x) =
n+1
i=1
fi
n+1
j=1
j=i
x xj
.
xi xj
(5)
Es f
acil demostrar que los polinomios de Lagrange pasan por todos lo puntos evalu
andolos
para valores xi n = 1, 2, . . .. Para n = 1, es decir, para dos datos, el polinomio tiene la
siguiente forma:
x x2
x x1
+ f2
(6)
P1 (x) = f1
x1 x2
x2 x1
c M. Valenzuela, 20072008 (26 de febrero de 2008)
Pagina 2
Interpolacion
xi
fi
0.4
1.00
2.5
0.50
4.3
2.00
5.0
2.55
6.0
4.00
(x x2 )(x x3 )
(x1 x2 )(x1 x3 )
P3 (x) = f1
f3
+ f2
(x x1 )(x x3 )
(x2 x1 )(x2 x3 )
+ f3
(x x1 )(x x2 )
(x3 x1 )(x3 x2 )
(7)
(x x2 )(x x3 )(x x4 )
(x x1 )(x x3 )(x x4 )
+ f2
+
(x1 x2 )(x1 x3 )(x1 x4 )
(x2 x1 )(x2 x3 )(x2 x4 )
(8)
(x x1 )(x x2 )(x x4 )
(x x1 )(x x2 )(x x3 )
+ f4
(x3 x1 )(x3 x2 )(x3 x4 )
(x4 x1 )(x4 x2 )(x4 x3 )
(9)
De nuevo, es f
acil demostrar que P3 (x1 ) = f1 , P3 (x2 ) = f2 , y P3 (x3 ) = f3 . En general
se puede demostrar que Pn (xi ) = fi para i = 1, 2, . . . , n + 1, es decir que el polinomio de
Lagrange es efectivamente igual al polinomio de interpolaci
on.
Cuando se utiliza el polinomio de Lagrange para interpolaci
on se debe evaluar la ecuaci
on 5
para cada valor que se vaya a interpolar.
4.
Ejemplo de interpolaci
on mediante el polinomio de Lagrange
Dados los datos mostrados en la gura 2 se desea interpolar para el valor x = 5.2,
P4 (x) = f1
f2
f3
f4
f5
P4 (5.2) = 1.00
0.50
Pagina 3
Interpolacion
2.00
2.55
4.00
P4 (5.2) = 1.00
0.6912
0.3888
+ 0.50
+
210.9744
33.0750
9.3312
2.3328
2.0736
+ 2.55
+ 4.00
8.3538
8.0500
33.3200
= 2.7481
2.00
5.
(10)
fj fi
xj xi
(11)
f [xj , xk ] f [xi , xj ]
xk xi
(12)
(13)
n+1
i=1
ai
i1
(x xj )
(14)
(15)
j=1
Pagina 4
Interpolacion
(16)
(17)
Pn (x1 ) = f1
(18)
(19)
(20)
(21)
(22)
(23)
f2 f1
f3 f2
x3 x2 x2 x1
= f1 + (f3 f2 ) +
= f1 + (f3 f2 ) +
(x3 x2 )
(25)
f2 f1
f2 f1
(x3 x1 ) + (f3 f2 )
(x3 x2 )
x2 x1
x2 x1
= f1 + (f3 f2 ) +
(24)
(26)
(27)
(28)
(29)
(30)
Pagina 5
Interpolacion
6.
Ejemplo de interpolaci
on mediante el polinomio de Newton
f [xi ]
1.0000
0.5000
2.0000
2.5500
4.0000
f [xi , xi+1 ]
0.2381
0.8333
0.7857
1.4500
f [xi , . . . , xi+3 ]
0.0639
0.1171
f [xi , . . . , xi+4 ]
0.0323
(31)
7.
(32)
(33)
0 f i = f i
(34)
1 fi = fi+1 fi
(35)
(36)
Diferencia de orden 1:
Diferencia de orden 2:
Diferencia de orden 3:
3 fi = (2 fi ) = 2 fi+1 2 fi = fi+3 3fi+2 + 3fi+1 fi
(37)
Pagina 6
Interpolacion
Diferencia de orden k:
k(k 1)
k(k 1)(k 2)
fi+k2
fi+k3 +
2!
3!
k fi = fi+k kfi+k1 +
(38)
=
=
k(k 1) 2
k(k 1)(k 2) 3
f1 +
f1 +
2!
3!
k
k
k
k
0 f 1 +
1 f 1 +
2 f 1 +
3 f 1 +
0
1
2
3
k
k
i f 1
i=0
(39)
para k = 1, 2, . . . , n.
Se puede demostrar que el polinomio de Newton-Gregory es el polinomio de interpolaci
on
evaluandolo para los valores xi :
Pn (x1 ) = f1
(40)
Pn (x2 ) = f1 + f1 = f1 + f2 f1 = f2
Pn (x3 ) = f1 +
2
2
f1 +
2 f 1
1
2
(41)
(42)
(43)
(44)
x x1
x
(45)
n
s
i f 1
Pn (x) =
i=0
7.1.
(46)
xi
0.4
0.6
0.8
1.0
0 f i
0.423
0.684
1.030
1.557
1 f i
0.261
0.346
0.527
2 f i
0.085
0.181
3 f i
0.096
Pagina 7
Interpolacion
xi
0.4
0.6
0.8
1.0
fi
0.423
0.684
1.030
1.557
xi
0.4
2.5
4.3
5.0
6.0
fi
1.00
0.50
2.00
2.55
4.00
S4 (x)
S3 (x)
n=4
S1 (x)
S2 (x)
x2
x1
x3 x4
x5
0.73 0.4
x x1
=
= 1.65
x
0.2
(47)
s(s 1) 2
s(s 1)(s 2) 3
f1 +
f1
2!
3!
1.65(0.65)(0.35)
1.65(0.65)
0.085 +
0.096
2
6
f (0.73) = 0.893
8.
(48)
(49)
(50)
Splines c
ubicos
Splines c
ubicos sigue una idea diferente al polinomio de interpolaci
on visto en las secciones anteriores; en lugar de pasar un polinomio u
nico por todos los puntos, pasa un
polinomio c
ubico, llamado spline c
ubico, por cada dos datos. Este spline c
ubico tiene la
siguiente forma:
Si (x) = ai (x xi )3 + bi (x xi )2 + ci (x xi ) + di .
(51)
Pagina 8
Interpolacion
(52)
Si (xi+1 ) = fi+1
(53)
para i = 1, 2, . . . n.
2. En los puntos de uni
on (knots), las primeras derivadas de los splines que se unen
deben ser iguales:
(xi+1 )
(54)
Si (xi+1 ) = Si+1
para i = 1, 2, . . . n.
3. En los puntos de uni
on (knots) de los segmentos c
ubicos, las segundas derivadas de
los splines que se unen deben ser iguales:
(xi+1 )
Si (xi+1 ) = Si+1
(55)
para i = 1, 2, . . . n.
4. Se escoge una de las siguientes condiciones frontera:
Frontera libre o natural
(56)
Sn (xn+1 )
= f (xn+1 )
(57)
(58)
Si (x)
Si (x)
(59)
= 3ai (x xi ) + 2bi (x xi ) + ci
(60)
= 6ai (x xi ) + 2bi
(61)
(62)
Si (xi )
Si (xi )
= ci
(63)
= 2bi
(64)
Pagina 9
Interpolacion
(66)
(67)
(68)
(69)
1
(bi+1 bi )
3hi
(70)
h2i
(bi+1 bi ) + bi h2i + ci hi + di = di+1
3
(71)
h2i
(bi+1 + 2bi ) + ci hi + di = di+1
3
(72)
Ahora despejamos ci
ci =
1
hi
(di+1 di ) (bi+1 + 2bi )
hi
3
(73)
1
hi1
(di di1 )
hi1
(bi + 2bi1 )
3
(74)
Sustituyendo la ecuaci
on 70 en la ecuacion 68:
hi (bi+1 bi ) + 2bi hi + ci = ci+1
(75)
hi (bi+1 + bi ) + ci = ci+1
(76)
(77)
Pagina 10
Interpolacion
1
hi1
(di di1 )
hi1
1
hi
(bi + 2bi1 ) = (di+1 di ) (bi+1 + 2bi ) (78)
3
hi
3
3
3
(di+1 di )
(di di1 )
hi
hi1
(79)
1
h1
..
.
.
..
0
0
0
2(h1 + h2 )
0
h2
0
0
h2
2(h2 + h3 )
..
.
h3
..
.
0
..
.
hn2
0
0
2(hn2 + hn1 )
hn1
0
b1
b2
b3
..
.
bn1
hn1
0
bn
2(hn1 + hn ) hn
bn+1
0
1
3
3
(f3 f2 ) (f2 f1 )
h
h
2
1
3
3
(f f3 ) (f3 f2 )
h3 4
h2
..
3
3
(f fn1 )
(fn1 fn2 )
hn1 n
hn2
3
3
(fn+1 fn )
(fn fn1 )
hn
hn1
0
0
0
..
.
..
.
(80)
Este sistema de ecuaciones se resuelve para encontrar los coecientes bi . Los coecientes ci
se obtienen de la ecuacion 73 que aqu repetimos:
ci =
1
hi
(di+1 di ) (bi+1 + 2bi )
hi
3
(81)
1
(bi+1 bi )
3hi
(82)
Y sabemos que di = fi .
c M. Valenzuela, 20072008 (26 de febrero de 2008)
Pagina 11
Interpolacion
9.
Ejemplo de interpolaci
on mediante splines c
ubicos
Deseamos interpolar mediante splines c
ubicos los siguientes datos:
xi
fi
0
0.2231
1
0.6065
2
1.0000
3
0.6065
4
0.2231
1
1
0
0
0
0
4
1
0
0
0
1
4
1
0
0
0
1
4
0
0
0
0
1
1
b1
b2
b3
b4
b5
0.0000
0.0303
2.3610
0.0303
0.0000
(83)
0.0000
0.1773
0.6789
0.1773
0.0000
b=
(84)
a=
y sabemos que di = fi :
0.0591
0.2854
0.2854
0.0591
c=
d=
0.2231
0.6065
1.0000
0.6065
0.3243
0.5016
0.0000
0.5016
(85)
(86)
(87)
(88)
Pagina 12