Chapra Cap18 Interpolación
Chapra Cap18 Interpolación
Chapra Cap18 Interpolación
Interpolacin
Con frecuencia se encontrar con que tiene que estimar valores intermedios entre datos
definidos por puntos. El mtodo ms comn que se usa para este propsito es la interpolacin polinomial. Recuerde que la frmula general para un polinomio de n-simo grado es
f(x) = a0 + a1x + a2x2 + + anxn
(18.1)
Dados n + 1 puntos, hay uno y slo un polinomio de grado* n que pasa a travs de todos
los puntos. Por ejemplo, hay slo una lnea recta (es decir, un polinomio de primer grado) que une dos puntos (figura 18.1a). De manera similar, nicamente una parbola une
un conjunto de tres puntos (figura 18.1b). La interpolacin polinomial consiste en determinar el polinomio nico de n-simo grado que se ajuste a n + 1 puntos. Este polinomio, entonces, proporciona una frmula para calcular valores intermedios.
Aunque hay uno y slo un polinomio de n-simo grado que se ajusta a n + 1 puntos,
existe una gran variedad de formas matemticas en las cuales puede expresarse este
polinomio. En este captulo describiremos dos alternativas que son muy adecuadas para
implementarse en computadora: los polinomios de Newton y de Lagrange.
18.1
a)
b)
c)
* De hecho se puede probar que dados n + 1 puntos, con abscisas distintas entre s, existe uno y slo un polinomio de grado a lo ms n que pasa por estos puntos.
Chapra-18.indd 503
6/12/06 13:57:47
504
INTERPOLACIN
( x1 ) ( x 0 )
( x x0 )
x1 x 0
(18.2)
que es una frmula de interpolacin lineal. La notacin f1(x) designa que ste es un
polinomio de interpolacin de primer grado. Observe que adems de representar la
pendiente de la lnea que une los puntos, el trmino [f(x1) f(x0)]/(x1 x0) es una aproximacin en diferencia dividida finita a la primer derivada [ecuacin (4.17)]. En general,
FIGURA 18.2
Esquema grfico de la interpolacin lineal. Las reas sombreadas indican los tringulos
semejantes usados para obtener la frmula de la interpolacin lineal [ecuacin(18.2)].
f (x)
f (x1)
f1(x)
f (x0)
x0
Chapra-18.indd 504
x1
6/12/06 13:57:47
18.1
505
cuanto menor sea el intervalo entre los datos, mejor ser la aproximacin. Esto se debe al
hecho de que, conforme el intervalo disminuye, una funcin continua estar mejor aproximada por una lnea recta. Esta caracterstica se demuestra en el siguiente ejemplo.
EJEMPLO 18.1
Interpolacin lineal
Planteamiento del problema. Estime el logaritmo natural de 2 mediante interpolacin
lineal. Primero, realice el clculo por interpolacin entre ln 1 = 0 y ln 6 = 1.791759.
Despus, repita el procedimiento, pero use un intervalo menor de ln 1 a ln 4 (1.386294).
Observe que el valor verdadero de ln 2 es 0.6931472.
Solucin. Usamos la ecuacin (18.2) y una interpolacin lineal para ln(2) desde x0 =
1 hasta x1 = 6 para obtener
1 (2) = 0 +
1.791759 0
(2 1) = 0.3583519
6 1
1.386294 0
(2 1) = 0.4620981
4 1
FIGURA 18.3
Dos interpolaciones lineales para estimar ln 2. Observe cmo el intervalo menor
proporciona una mejor estimacin.
f (x)
f (x) = ln x
Valor
verdadero
f1(x)
Estimaciones lineales
Chapra-18.indd 505
6/12/06 13:57:47
506
INTERPOLACIN
(18.3)
Observe que aunque la ecuacin (18.3) parece diferir del polinomio general [ecuacin
(18.1)], las dos ecuaciones son equivalentes. Lo anterior se demuestra al multiplicar los
trminos de la ecuacin (18.3):
f2(x) = b0 + b1x b1x0 + b2x2 + b2x0x1 b2xx0 b2xx1
o, agrupando trminos,
f2(x) = a0 + a1x + a2x2
donde
a0 = b0 blx0 + b2x0x1
a1 = b1 b2x0 b2x1
a2 = b2
As, las ecuaciones (18.1) y (18.3) son formas alternativas, equivalentes del nico polinomio de segundo grado que une los tres puntos.
Un procedimiento simple puede usarse para determinar los valores de los coeficientes. Para encontrar b 0, en la ecuacin (18.3) se evala con x = x0 para obtener
b0 = f(x0)
(18.4)
( x1 ) ( x 0 )
x1 x 0
(18.5)
Por ltimo, las ecuaciones (18.4) y (18.5) se sustituyen en la (18.3), despus se evala en
x = x2 y (luego de algunas manipulaciones algebraicas) se resuelve para
( x 2 ) ( x1 ) ( x1 ) ( x 0 )
x 2 x1
x1 x 0
b2 =
x2 x0
(18.6)
Chapra-18.indd 506
6/12/06 13:57:48
18.1
507
Antes de ilustrar cmo utilizar la ecuacin (18.3), debemos examinar la forma del coeficiente b2. Es muy similar a la aproximacin en diferencias divididas finitas de la segunda
derivada, que se present antes en la ecuacin (4.24). As, la ecuacin (18.3) comienza a
manifestar una estructura semejante a la expansin de la serie de Taylor. Esta observacin
ser objeto de una mayor exploracin cuando relacionemos los polinomios de interpolacin
de Newton con la serie de Taylor en la seccin 18.1.4. Aunque, primero, mostraremos un
ejemplo que indique cmo se utiliza la ecuacin (18.3) para interpolar entre tres puntos.
EJEMPLO 18.2
Interpolacin cuadrtica
Planteamiento del problema.
tos del ejemplo 18.1:
x0 = 1
f(x0) = 0
x1 = 4
f(x1) = 1.386294
x2 = 6
f(x2) = 1.791759
b0 = 0
La ecuacin (18.5) da
b1 =
1.386294 0
= 0.4620981
4 1
FIGURA 18.4
El uso de la interpolacin cuadrtica para estimar ln 2. Para comparacin se presenta
tambin la interpolacin lineal desde x = 1 hasta 4.
f (x)
f (x) = ln x
f2(x)
Valor
verdadero
Estimacin cuadrtica
Estimacin lineal
0
Chapra-18.indd 507
6/12/06 13:57:48
508
INTERPOLACIN
(18.7)
Como se hizo antes con las interpolaciones lineales y cuadrticas, los puntos asociados
con datos se utilizan para evaluar los coeficientes b 0, b1,..., bn. Para un polinomio de
n-simo grado se requieren n + 1 puntos: [x0, f(x0)], [x1, f(x1)],..., [xn, f(xn)]. Usamos
estos datos y las siguientes ecuaciones para evaluar los coeficientes:
b0 = f(x0)
b1 = f[x1, x0]
b2 = f[x2, x1, x0]
(18.8)
(18.9)
(18.10)
(18.11)
donde las evaluaciones de la funcin colocadas entre parntesis son diferencias divididas
finitas. Por ejemplo, la primera diferencia dividida finita en forma general se representa
como
[ xi , x j ] =
( xi ) ( x j )
xi x j
(18.12)
La segunda diferencia dividida finita, que representa la diferencia de las dos primeras
diferencias divididas, se expresa en forma general como
[ xi , x j , x k ] =
Chapra-18.indd 508
[ xi , x j ] [ x j , x k ]
xi x k
(18.13)
6/12/06 13:57:48
18.1
xi
f(xi)
Primero
0
1
x0
x1
(x0)
(x1)
x2
x3
(x2)
(x3)
[x3, x2]
509
Segundo
Tercero
[x1, x0]
[x2, x1]
FIGURA 18.5
Representacin grfica de la naturaleza recursiva de las diferencias divididas finitas.
[ x n , x n 1 , , x1 ] [ x n 1 , x n2 , , x 0 ]
xn x0
(18.14)
Estas diferencias sirven para evaluar los coeficientes en las ecuaciones (18.8) a
(18.11), los cuales se sustituirn en la ecuacin (18.7) para obtener el polinomio de interpolacin
fn(x) = f(x0) + (x x0) f[x1, x0] + (x x0)(x x1) f[x2, x1, x0]
+ + (x x0)(x x1) (x xn1) f[xn, xn1, , x0]
(18.15)
f3(x) = b0 + b1(x x0) + b2(x x0)(x x1) + b3(x x0)(x x1)(x x2)
Las primeras diferencias divididas del problema son [ecuacin (18.12)]
1.386294 0
[ x1 , x 0 ] =
= 0.4620981
40
1.791759 1.386294
[ x 2 , x1 ] =
= 0.2027326
64
Chapra-18.indd 509
6/12/06 13:57:49
510
INTERPOLACIN
f (x)
f3(x)
f (x) = ln x
Valor
real
Estimacin
cbica
FIGURA 18.6
Uso de la interpolacin cbica para estimar ln 2.
[ x3 , x 2 ] =
1.609438 1.791759
= 0.1823216
56
0.02041100 ( 0.05187311)
= 0.007865529
5 1
Los resultados de f[x1, x0], f[x2 , x1, x0] y f[x3, x2, x1, x0] representan los coeficientes b1, b2 y
b3 de la ecuacin (18.7), respectivamente. Junto con b0 = f(x0) = 0.0, la ecuacin (18.7) es
f3(x) = 0 + 0.4620981(x 1) 0.05187311(x 1)(x 4)
+ 0.007865529(x 1)(x 4)(x 6)
la cual sirve para evaluar f 3 (2) = 0.6287686, que representa un error relativo: et = 9.3%.
La grfica del polinomio cbico se muestra en la figura 18.6.
Chapra-18.indd 510
6/12/06 13:57:49
18.1
511
( n+1 ( )
( xi +1 xi ) n+1
(n + 1)!
(4.6)
donde x est en alguna parte del intervalo de xi a xi+1. Para un polinomio de interpolacin
de n-simo grado, una expresin anloga para el error es
Rn =
( n+1) ( )
( x x 0 )( x x1 ) ( x x n )
(n + 1)!
(18.16)
donde x est en alguna parte del intervalo que contiene la incgnita y los datos. Para que
esta frmula sea til, la funcin en turno debe ser conocida y diferenciable. Por lo comn
ste no es el caso. Por fortuna, hay una formulacin alternativa que no requiere del conocimiento previo de la funcin. Utilizndose una diferencia dividida finita para aproximar la (n + 1)-sima derivada,
Rn = [x, xn, xn1, . . . , x0](x x0)(x x1) (x xn)
(18.17)
donde [x, xn, xn1,. . . , x0] es la (n + 1)-sima diferencia dividida finita. Debido a que
la ecuacin (18.17) contiene la incgnita f(x), no permite obtener el error. Sin embargo,
si se tiene un dato ms, f(xn+1), la ecuacin (18.17) puede usarse para estimar el error
como sigue:
Rn [xn+1, xn, xn1, . . . ,x0](x x0)(x x1) (x xn)
EJEMPLO 18.4
(18.18)
Chapra-18.indd 511
6/12/06 13:57:50
512
INTERPOLACIN
o
R2 = 0.007865529(x 1)(x 4)(x 6)
donde el valor de la diferencia dividida finita de tercer orden es como se calcul antes
en el ejemplo 18.3. Esta expresin se evala en x = 2 para obtener
R2 = 0.007865529(2 1)(2 4)(2 6) = 0.0629242
que es del mismo orden de magnitud que el error verdadero.
Con el ejemplo anterior y la ecuacin (18.18), debe resultar claro que el error estimado para el polinomio de n-simo grado es equivalente a la diferencia entre las predicciones de orden (n + 1) y de orden n. Es decir,
Rn = fn+1(x) fn(x)
(18.19)
En otras palabras, el incremento que se agrega al caso de orden n para crear el caso de
orden (n + 1) [es decir, la ecuacin (18.18)] se interpreta como un estimado del error
de orden n. Esto se percibe con claridad al reordenar la ecuacin (18.19):
fn+1(x) = fn(x) + Rn
La validez de tal procedimiento se refuerza por el hecho de que la serie es altamente
convergente. En tal situacin, la prediccin del orden (n + 1) debera ser mucho ms
cercana al valor verdadero que la prediccin de orden n. En consecuencia, la ecuacin
(18.19) concuerda con nuestra definicin estndar de error, al representar la diferencia
entre la verdad y una aproximacin. No obstante, observe que mientras todos los otros
errores estimados para los procedimientos iterativos presentados hasta ahora se encontraron como una prediccin presente menos una previa, la ecuacin (18.19) constituye
una prediccin futura menos una presente. Lo anterior significa que para una serie que
es de convergencia rpida, el error estimado de la ecuacin (18.19) podra ser menor
que el error verdadero. Esto representara una calidad muy poco atractiva si el error
estimado fuera a emplearse como un criterio de terminacin. Sin embargo, como se
expondr en la siguiente seccin, los polinomios de interpolacin de grado superior son
muy sensibles a errores en los datos (es decir, estn mal condicionados). Cuando se
emplean para interpolacin, a menudo dan predicciones que divergen en forma significativa del valor verdadero. Si se trata de detectar errores, la ecuacin (18.19) es ms
sensible a tal divergencia. De esta manera, es ms valiosa con la clase de anlisis de
datos exploratorios para los que el polinomio de Newton es el ms adecuado.
18.1.5 Algoritmo computacional para el polinomio
de interpolacin de Newton
Tres propiedades hacen a los polinomios de interpolacin de Newton muy atractivos
para aplicaciones en computadora:
1.
Chapra-18.indd 512
6/12/06 13:57:50
18.1
2.
3.
513
Todas las caractersticas anteriores pueden aprovecharse e incorporarse en un algoritmo general para implementar el polinomio de Newton (figura 18.7). Observe que el
algoritmo consiste de dos partes: la primera determina los coeficientes a partir de la
ecuacin (18.7); la segunda establece las predicciones y sus errores correspondientes. La
utilidad de dicho algoritmo se demuestra en el siguiente ejemplo.
FIGURA 18.7
Un algoritmo para el polinomio de interpolacin de Newton escrito en seudocdigo.
SUBROUTINE NewtInt (x, y, n, xi, yint, ea)
LOCAL fddn,n
DOFOR i = 0, n
fddi,0 = yi
END DO
DOFOR j = 1, n
DOFOR i = 0, n j
fddi,j = (fddi+1,j1 fddi,j1)/(xi+j xi)
END DO
END DO
xterm = 1
yint0 = fdd0,0
DOFOR order = 1, n
xterm = xterm * (xi xorder1)
yint2 = yintorder1 + fdd0,order * xterm
Eaorder1 = yint2 yintorder1
yintorder = yint2
END order
END NewtInt
Chapra-18.indd 513
6/12/06 13:57:50
INTERPOLACIN
514
EJEMPLO 18.5
(x) = ln x
0
4
6
5
3
1.5
2.5
3.5
1
1.3862944
1.7917595
1.6094379
1.0986123
0.4054641
0.9162907
1.2527630
Solucin. Los resultados de emplear el algoritmo de la figura 18.7 para obtener una
solucin se muestran en la figura 18.8. El error estimado, junto con el error verdadero
(basndose en el hecho de que ln 2 = 0.6931472), se ilustran en la figura 18.9. Observe
que el error estimado y el error verdadero son similares y que su concordancia mejora
conforme aumenta el grado. A partir de estos resultados se concluye que la versin de
quinto grado da una buena estimacin y que los trminos de grado superior no mejoran
significativamente la prediccin.
NUMERO DE PUNTOS? 8
X( 0 ), y( 0 ) = ? 1,0
X( 1 ), y( 1 ) = ? 4,1.3862944
X( 2 ), y( 2 ) = ? 6,1.7917595
X( 3 ), y( 3 ) = ? 5,1.6094379
X( 4 ), y( 4 ) = ? 3,1.0986123
X( 5 ), y( 5 ) = ? 1.5,0.40546411
X( 6 ), y( 6 ) = ? 2.5,0.91629073
X( 7 ), y( 7 ) = ? 3.5,1.2527630
INTERPOLACION EN X = 2
GRADO
F(X)
ERROR
0
0.000000
0.462098
1
0.462098
0.103746
2
0.565844
0.062924
3
0.628769
0.046953
4
0.675722
0.021792
5
0.697514
0.003616
6
0.693898
0.000459
7
0.693439
FIGURA 18.8
Resultados de un programa, basado en el algoritmo de la figura 18.7, para evaluar ln 2.
Chapra-18.indd 514
6/12/06 13:57:50
18.1
515
FIGURA 18.9
Errores relativos porcentuales para la prediccin de ln 2 como funcin del orden del
polinomio de interpolacin.
Error
Grado
0.5
Chapra-18.indd 515
6/12/06 13:57:51
INTERPOLACIN
516
18.2
L ( x )( x )
(18.20)
x x
(18.21)
n ( x) =
i=0
donde
Li ( x ) =
j =0
j i
x xj
i
x x0
x x1
( x 0 ) +
( x1 )
x1 x 0
x 0 x1
(18.22)
( x x 0 )( x x 2 )
( x x1 )( x x 2 )
( x 0 ) +
( x1 )
( x1 x 0 )( x1 x 2 )
( x 0 x1 )( x 0 x 2 )
+
( x x 0 )( x x1 )
( x 2 )
( x 2 x 0 )( x 2 x1 )
(18.23)
Chapra-18.indd 516
6/12/06 13:57:51
18.2
EJEMPLO 18.6
517
f(x0) = 0
x1 = 4
f(x1) = 1.386294
x2 = 6
f(x2) = 1.791760
2 1
24
0+
1.386294 = 0.4620981
4 1
1 4
(2 4)(2 6)
(2 1)(2 6)
0+
1.386294
(1 4)(1 6)
( 4 1)( 4 6)
(2 1)(2 4)
1.791760 = 0.5658444
+
(6 1)(6 4)
Como se esperaba, ambos resultados concuerdan con los que se obtuvieron antes al usar
el polinomio de interpolacin de Newton.
Cuadro 18.1
El polinomio de interpolacin de Lagrange se obtiene de manera directa a partir de la formulacin del polinomio de Newton.
Haremos esto nicamente en el caso del polinomio de primer
grado [ecuacin (18.2)]. Para obtener la forma de Lagrange,
reformulamos las diferencias divididas. Por ejemplo, la primera
diferencia dividida,
f [ x1 , x 0 ] =
f ( x1 ) f ( x 0 )
x1 x 0
(B18.1.1)
Chapra-18.indd 517
f ( x0 )
f ( x1 )
+
x1 x 0 x 0 x1
f1 ( x ) = f ( x 0 ) +
x x0
x x0
f ( x1 ) +
f ( x0 )
x1 x 0
x 0 x1
Por ltimo, al agrupar trminos semejantes y simplificar se obtiene la forma del polinomio de Lagrange,
f1 ( x ) =
se reformula como
[ x1 , x 0 ] =
x x0
x x1
f ( x0 ) +
f ( x1 )
x 0 x1
x1 x 0
(B18.1.2)
6/12/06 13:57:51
518
INTERPOLACIN
150
Tercer trmino
Sumatoria
de los tres
trminos = f2(x)
100
50
Primer trmino
15
20
25
30
50
100
Segundo trmino
150
FIGURA 18.10
Descripcin visual del razonamiento detrs del polinomio de Lagrange. Esta figura muestra
un caso de segundo grado. Cada uno de los tres trminos en la ecuacin (18.23) pasa a
travs de uno de los puntos que se tienen como datos y es cero en los otros dos. La suma de
los tres trminos, por lo tanto, debe ser el nico polinomio de segundo grado f2(x) que pasa
exactamente a travs de los tres puntos.
FIGURA 18.11
Seudocdigo para la interpolacin de Lagrange. Este algoritmo se establece para calcular
una sola prediccin de grado n-simo, donde n + 1 es el nmero de datos.
FUNCTION Lagrng(x, y, n, x)
sum = 0
DOFOR i = 0, n
product = yi
DOFOR j = 0, n
IF i j THEN
product = product*(x xj)/(xi xj)
ENDIF
END DO
sum = sum + product
END DO
Lagrng = sum
END Lagrng
Chapra-18.indd 518
6/12/06 13:57:51
18.2
519
(x x )
n
i=0
De este modo, si se tiene un punto adicional en x = xn+1, se puede obtener un error estimado. Sin embargo, como no se emplean las diferencias divididas finitas como parte del
algoritmo de Lagrange, esto se hace rara vez.
Las ecuaciones (18.20) y (18.21) se programan de manera muy simple para implementarse en una computadora. La figura 18.11 muestra el seudocdigo que sirve para
tal propsito.
En resumen, en los casos donde se desconoce el grado del polinomio, el mtodo de
Newton tiene ventajas debido a la comprensin que proporciona respecto al comportamiento de las frmulas de diferente grado. Adems, el estimado del error representado
por la ecuacin (18.18) se agrega usualmente en el clculo del polinomio de Newton
debido a que el estimado emplea una diferencia finita (ejemplo 18.5). De esta manera,
para clculos exploratorios, a menudo se prefiere el mtodo de Newton.
Cuando se va a ejecutar slo una interpolacin, las formulaciones de Lagrange y de
Newton requieren un trabajo computacional semejante. No obstante, la versin de Lagrange es un poco ms fcil de programar. Debido a que no requiere del clculo ni del
almacenaje de diferencias divididas, la forma de Lagrange a menudo se utiliza cuando
el grado del polinomio se conoce a priori.
EJEMPLO 18.7
Tiempo,
s
Velocidad medida v,
cm/s
1
3
5
7
13
800
2 310
3 090
3 940
4 755
Chapra-18.indd 519
6/12/06 13:57:52
INTERPOLACIN
520
v, cm/s
6 000
3 000
0
10
15
6 000
c)
3 000
0
b)
3 000
6 000
v, cm/s
6 000
a)
10
15
10
15
d)
3 000
10
t(s)
15
5
t(s)
FIGURA 18.12
Grficas que muestran interpolaciones de a) cuarto grado, b) tercer grado, c) segundo
grado y d) primer grado.
El ejemplo anterior ilustr que los polinomios de grado superior tienden a estar mal
condicionados; es decir, tienden a ser altamente susceptibles a los errores de redondeo.
El mismo problema se presenta en la regresin con polinomios de grado superior. La
aritmtica de doble precisin ayuda algunas veces a disminuir el problema. Sin embargo,
conforme el grado aumente, habr un punto donde el error de redondeo interferir con la
habilidad para interpolar usando los procedimientos simples estudiados hasta ahora.
18.3
Chapra-18.indd 520
(18.24)
6/12/06 13:57:52
18.4
INTERPOLACIN INVERSA
521
(18.25)
Se requiere de tres puntos: [x0, f(x0)], [x1, f(x1)] y [x2, f(x2)]. Cada uno se sustituye en la
ecuacin (18.25):
f(x0) = a0 + a1x0 + a2x02
f(x1) = a0 + a1x1 + a2x21
(18.26)
18.4
INTERPOLACIN INVERSA
Como la nomenclatura implica, los valores de f(x) y x en la mayora de los problemas de
interpolacin son las variables dependiente e independiente, respectivamente. En consecuencia, los valores de las x con frecuencia estn espaciados uniformemente. Un
ejemplo simple es una tabla de valores obtenida para la funcin f(x) = 1/x,
x
(x)
0.5
0.3333
0.25
0.2
0.1667
0.1429
Ahora suponga que usted debe usar los mismos datos, pero que se le ha dado un
valor de f(x) y debe determinar el valor correspondiente de x. Por ejemplo, para los datos
anteriores, suponga que se le pide determinar el valor de x que corresponda a f(x) = 0.3.
En tal caso, como se tiene la funcin y es fcil de manipular, la respuesta correcta se
determina directamente, x = 1/0.3 = 3.3333.
A ese problema se le conoce como interpolacin inversa. En un caso ms complicado, usted puede sentirse tentado a intercambiar los valores f(x) y x [es decir, tan slo
Chapra-18.indd 521
6/12/06 13:57:52
INTERPOLACIN
522
0.1429
0.1667
0.2
0.25
0.3333
0.5
As, la segunda raz, 3.296, es una buena aproximacin al valor verdadero: 3.333. Si se
desea una exactitud adicional, entonces podra emplear un polinomio de tercer o cuarto grado junto con uno de los mtodos para la localizacin de races analizado en la
parte dos.
18.5
COMENTARIOS ADICIONALES
Antes de proceder con la siguiente seccin, se deben mencionar dos temas adicionales:
la interpolacin y extrapolacin con datos igualmente espaciados.
Como ambos polinomios, el de Newton y el de Lagrange, son compatibles con
datos espaciados en forma arbitraria, usted se preguntar por qu nos ocupamos del caso
especial de datos igualmente espaciados (cuadro 18.2). Antes de la llegada de las
Chapra-18.indd 522
6/12/06 13:57:52
18.5
COMENTARIOS ADICIONALES
523
computadoras digitales, dichas tcnicas tenan gran utilidad para interpolacin a partir
de tablas con datos igualmente espaciados. De hecho, se desarroll una estructura computacional, conocida como tabla de diferencias divididas, para facilitar la implementacin
de dichas tcnicas. (La figura 18.5 es un ejemplo de esa tabla.)
Sin embargo, como las frmulas dadas son subconjuntos de los esquemas de Newton
y Lagrange compatibles con una computadora y debido a las muchas funciones tabulares
existentes, como subrutinas de bibliotecas, ha disminuido la necesidad de tener versiones
para datos igualmente espaciados. A pesar de ello, las hemos incluido en este tema por
su relevancia en las ltimas partes de este libro. En especial, son necesarias para obtener
frmulas de integracin numrica que por lo comn utilizan datos igualmente espaciados
(captulo 21). Como las frmulas de integracin numrica son importantes en la solucin
de ecuaciones diferenciales ordinarias, el anlisis del cuadro 18.2 adquiere tambin
significado para la parte siete.
Extrapolacin es el proceso de estimar un valor de f(x) que se encuentra fuera del
dominio de los valores conocidos, x0, x1,..., xn (figura 18.13). En una seccin anterior,
mencionamos que la interpolacin ms exacta se obtiene cuando las incgnitas estn
cerca de los puntos. En efecto, ste no es el caso cuando la incgnita se encuentra fuera
del intervalo y, en consecuencia, el error en la extrapolacin puede ser muy grande. Como
se ilustra en la figura 18.13, la naturaleza de la extrapolacin de extremos abiertos representa un paso a lo desconocido, ya que el proceso extiende la curva ms all de la
regin conocida. Como tal, la curva real podr fcilmente diverger de la prediccin.
Por lo tanto, se debe tener mucho cuidado cuando aparezca un problema donde se deba
extrapolar.
FIGURA 18.13
Ilustracin de la posible divergencia de una prediccin extrapolada. La extrapolacin se
basa en ajustar una parbola con los primeros tres puntos conocidos.
f (x)
Interpolacin
Extrapolacin
Curva
real
Extrapolacin
del polinomio
de interpolacin
x0
Chapra-18.indd 523
x1
x2
6/12/06 13:57:53
INTERPOLACIN
524
Cuadro 18.2
xn = x0 + nh
x x0
h
Esta definicin se utiliza para desarrollar las siguientes expresiones simplificadas de los trminos en la ecuacin (C18.2.3):
donde h es el intervalo, o tamao de paso, entre los datos. Basndose en esto, las diferencias divididas finitas se pueden expresar en forma concisa. Por ejemplo, la segunda diferencia
dividida hacia adelante es
( x 2 ) ( x1 ) ( x1 ) ( x 0 )
x 2 x1
x1 x 0
[ x 0 , x1 , x 2 ] =
x2 x0
x x0 = ah
x x0 h = ah h = h(a 1)
( x 2 ) 2( x1 ) + ( x 0 )
2h 2
n ( x ) = ( x 0 ) + ( x 0 ) +
(C18.2.1)
+ +
[ x 0 , x1 , x 2 ] =
donde
Rn =
2 ( x 0 )
2! h 2
o, en general
[ x0 , x1 ,, xn ] =
n ( x0 )
n! h n
(C18.2.2)
n ( x 0 )
( 1)( n + 1) + Rn
n!
(C18.2.4)
2 ( x 0 )
( 1)
2!
( n +1) ( ) n +1
h ( 1)( 2)( n)
(n + 1)!
En el captulo 21 esta notacin concisa tendr utilidad en la deduccin y anlisis del error de las frmulas de integracin.
Adems de la frmula hacia adelante, tambin existen las
frmulas hacia atrs y central de Newton-Gregory. Para ms
informacin respecto de la interpolacin para datos igualmente
espaciados vase Carnahan, Luther y Wilkes (1969).
n ( x ) = ( x 0 ) +
Chapra-18.indd 524
(C18.2.3)
6/12/06 13:57:53
18.6
18.6
525
Chapra-18.indd 525
6/12/06 13:57:53
526
INTERPOLACIN
x 0 < x < x1
x 1 < x < x2
FIGURA 18.14
Una representacin visual de una situacin en la que los trazadores son mejores que los
polinomios de interpolacin de grado superior. La funcin que se ajusta presenta un incremento
sbito en x = 0. Los incisos a) a c) indican que el cambio abrupto induce oscilaciones en
los polinomios de interpolacin. En contraste, como se limitan a curvas de tercer grado con
transiciones suaves, un trazador lineal d) ofrece una aproximacin mucho ms aceptable.
f (x)
a)
f (x)
b)
f (x)
c)
f (x)
d)
Chapra-18.indd 526
6/12/06 13:57:54
18.6
527
FIGURA 18. 15
La tcnica de dibujo que usa una cinta delgada y flexible para dibujar curvas suaves
a travs de una serie de puntos. Observe cmo en los puntos extremos, el trazador
tiende a volverse recto. Esto se conoce como un trazador natural.
( xi +1 ) ( xi )
xi +1 xi
(18.27)
Estas ecuaciones se pueden usar para evaluar la funcin en cualquier punto entre x0
y xn localizando primero el intervalo dentro del cual est el punto. Despus se usa la
ecuacin adecuada para determinar el valor de la funcin dentro del intervalo. El mtodo es obviamente idntico al de la interpolacin lineal.
EJEMPLO 18.8
2.5 1
= 0.60
7 4.5
Se calculan las pendientes en los otros intervalos y los trazadores de primer grado obtenidos se grafican en la figura 18.16a. El valor en x = 5 es 1.3.
Chapra-18.indd 527
6/12/06 13:57:54
528
INTERPOLACIN
TABLA 18.1
Datos para ajustarse
con trazadores.
x
f (x)
3.0
4.5
7.0
9.0
2.5
1.0
2.5
0.5
Una inspeccin visual a la figura 18.16a indica que la principal desventaja de los
trazadores de primer grado es que no son suaves. En esencia, en los puntos donde se
encuentran dos trazadores (llamado nodo), la pendiente cambia de forma abrupta. Formalmente, la primer derivada de la funcin es discontinua en esos puntos. Esta deficiencia se resuelve usando trazadores polinomiales de grado superior, que aseguren suavidad
en los nodos al igualar las derivadas en esos puntos, como se analiza en la siguiente
seccin.
(18.28)
La figura 18.17 servir para aclarar la notacin. Para n + 1 datos (i = 0, 1, 2,..., n) existen
n intervalos y, en consecuencia, 3n constantes desconocidas (las a, b y c) por evaluar. Por
lo tanto, se requieren 3n ecuaciones o condiciones para evaluar las incgnitas. stas son:
1.
Chapra-18.indd 528
Los valores de la funcin de polinomios adyacentes deben ser iguales en los nodos
interiores. Esta condicin se representa como
6/12/06 13:57:54
18.6
529
f (x)
Trazador de
primer orden
2
10
a)
f (x)
Trazador de
segundo orden
2
b)
f (x)
Trazador
cbico
Interpolacin
cbica
c)
FIGURA 18.16
Ajuste mediante trazadores de un conjunto de cuatro puntos. a) Trazador lineal,
b) Trazador cuadrtico y c) trazador cbico; se grafica tambin un polinomio
de interpolacin cbico.
2.
(18.29)
aix2i1
(18.30)
+ bixi1 + ci = f(xi1)
(18.31)
anx2n
(18.32)
+ bnxn + cn = f(xn)
Chapra-18.indd 529
6/12/06 13:57:54
INTERPOLACIN
530
f (x)
a3x2 + b3x + c3
2
a2x + b2x + c2
f (x3)
a1x2 + b1x + c1
f (x1)
f (x0)
f (x2)
Intervalo 1
x0
i=0
Intervalo 2
Intervalo 3
x1
x2
x3
i=1
i=2
i=3
FIGURA 18.17
Notacin utilizada para obtener trazadores cuadrticos. Observe que hay n intervalos
y n + 1 datos. El ejemplo mostrado es para n = 3.
3.
Las primeras derivadas en los nodos interiores deben ser iguales. La primera derivada de la ecuacin 18.28 es
(x) = 2ax + b
Por lo tanto, de manera general la condicin se representa como
2ai1xi1 + bi1 = 2aixi1 + bi
4.
(18.33)
(18.34)
La interpretacin visual de esta condicin es que los dos primeros puntos se unirn
con una lnea recta.
EJEMPLO 18.9
Trazadores cuadrticos
Planteamiento del problema. Ajuste trazadores cuadrticos a los mismos datos que
se utilizaron en el ejemplo 18.8 (tabla 18.1). Con los resultados estime el valor en
x = 5.
Chapra-18.indd 530
6/12/06 13:57:55
18.6
531
0
3
0
1
1
0
0 0 0
0
0 20.25 4.5 1 0
0
0
49
7 1 0
0
0
0
0 0 49 7
1
0
0 0 0
0
0
0
0 0 81 9
0
9
1 0 0
0
0
14
1 0 14 1
0 b1 1
0 c1 1
0 a2 2.5
1 b2 2.5
=
0 c2 2.5
1 a3 0.5
0 b3 0
0 c3 0
Estas ecuaciones se pueden resolver utilizando las tcnicas de la parte tres, con los resultados:
a1 = 0
a2 = 0.64
a3 = 1.6
b1 = 1
b2 = 6.76
b3 = 24.6
c1 = 5.5
c2 = 18.46
c3 = 91.3
que se sustituyen en las ecuaciones cuadrticas originales para obtener la siguiente relacin para cada intervalo:
Chapra-18.indd 531
6/12/06 13:57:55
532
INTERPOLACIN
f1(x) = x + 5.5
(18.35)
As, para n + 1 datos (i = 0, 1, 2,..., n), existen n intervalos y, en consecuencia, 4n incgnitas a evaluar. Como con los trazadores cuadrticos, se requieren 4n condiciones para
evaluar las incgnitas. stas son:
1.
2.
3.
4.
5.
Los valores de la funcin deben ser iguales en los nodos interiores (2n 2 condiciones).
La primera y ltima funcin deben pasar a travs de los puntos extremos (2 condiciones).
Las primeras derivadas en los nodos interiores deben ser iguales (n 1 condiciones).
Las segundas derivadas en los nodos interiores deben ser iguales (n 1 condiciones).
Las segundas derivadas en los nodos extremos son cero (2 condiciones).
Chapra-18.indd 532
6/12/06 13:57:55
18.6
Cuadro 18.3
x xi
x x i 1
+ i ( x i )
x i 1 x i
x i x i 1
(C18.3.1)
533
i ( x i 1 )
i ( x )
( xi x )3 +
( x x i 1 ) 3
6( x i x i 1 )
6( x i x i 1 )
( x i 1 ) ( x i 1 )( x i x i 1 )
+
( xi x )
6
x i x i 1
( x i )
( x i )( x i x i 1 )
+
( x x i 1 )
6
x
x
i 1
i
(C18.3.2)
digamos, la ecuacin (18.35). Sin embargo, observe que contiene slo dos coeficientes desconocidos; es decir, las segundas
derivadas al inicio y al final del intervalo: (xi1) y (xi). De
esta forma, si podemos determinar la segunda derivada en cada
nodo, la ecuacin (C18.3.2) es un polinomio de tercer grado que
se utiliza para interpolar dentro del intervalo.
Las segundas derivadas se evalan tomando la condicin de
que las primeras derivadas deben ser continuas en los nodos:
f i1(xi) = f i(xi)
(C18.3.3)
6
[ ( xi +1 ) ( xi )]
xi +1 xi
+
6
[ ( xi 1 ) ( xi )]
xi xi 1
(C18.3.4)
Si la ecuacin (C18.3.4) se escribe para todos los nodos interiores, se obtienen n 1 ecuaciones simultneas con n + 1 segundas
derivadas desconocidas. Sin embargo, como sta es un trazador
cbico natural, las segundas derivadas en los nodos extremos son
cero y el problema se reduce a n 1 ecuaciones con n 1 incgnitas. Adems, observe que el sistema de ecuaciones ser tridiagonal. As, no slo se redujo el nmero de ecuaciones, sino que
las organizamos en una forma extremadamente fcil de resolver
(recuerde la seccin 11.1.1).
i( xi 1 )
i( xi )
( xi x )3 +
( x xi 1 )3
6( xi xi 1 )
6( xi xi 1 )
( xi 1 ) ( xi 1 )( xi xi 1 )
+
( xi x )
6
xi xi 1
( xi )
( xi )( xi xi 1 )
+
( x xi 1 )
6
xi xi 1
Chapra-18.indd 533
(18.36)
6/12/06 13:57:55
INTERPOLACIN
534
Esta ecuacin contiene slo dos incgnitas (las segundas derivadas en los extremos de
cada intervalo). Las incgnitas se evalan empleando la siguiente ecuacin:
( xi xi 1 ) ( xi 1 ) + 2( xi +1 xi 1 ) ( xi ) + ( xi +1 xi ) ( xi +1 )
=
6
6
[ ( xi +1 ) ( xi )] +
[ ( xi 1 ) ( xi )]
xi +1 xi
xi xi 1
(18.37)
Si se escribe esta ecuacin para todos los nodos interiores, resultan n 1 ecuaciones
simultneas con n 1 incgnitas. (Recuerde que las segundas derivadas en los nodos
extremos son cero.) La aplicacin de estas ecuaciones se ilustra con el siguiente
ejemplo.
EJEMPLO 18.10
Trazadores cbicos
Planteamiento del problema. Ajuste trazadores cbicos a los mismos datos que se
usaron en los ejemplos 18.8 y 18.9 (tabla 18.1). Utilice los resultados para estimar el
valor en x = 5.
Solucin. El primer paso consiste en usar la ecuacin (18.37) para generar el conjunto
de ecuaciones simultneas que se utilizarn para determinar las segundas derivadas en
los nodos. Por ejemplo, para el primer nodo interior se emplean los siguientes datos:
x0 = 3
f(x0) = 2.5
x1 = 4.5
f(x1) = 1
x2 = 7
f(x2) = 2.5
Chapra-18.indd 534
6/12/06 13:57:56
18.6
1 ( x ) =
535
1.67909
2.5
( x 3)3 +
( 4.5 x )
6( 4.5 3)
4.5 3
1
1.67909( 4.5 3)
+
( x 3)
6
4.5 3
o
f1(x) = 0.186566(x 3)3 + 1.666667(4.5 x) + 0.246894(x 3)
Esta ecuacin es el trazador cbico para el primer intervalo. Se realizan sustituciones
similares para tener las ecuaciones para el segundo y tercer intervalo:
f2(x) = 0.111939(7 x)3 0.102205(x 4.5)3 0.299621(7 x)
+ 1.638783(x 4.5)
y
f3(x) = 0.127757(9 x)3 + 1.761027(9 x) + 0.25(x 7)
Las tres ecuaciones se pueden utilizar para calcular los valores dentro de cada intervalo.
Por ejemplo, el valor en x = 5, que est dentro del segundo intervalo, se calcula como
sigue
f2(5) = 0.111939(7 5)3 0.102205(5 4.5)3 0.299621(7 5)
+ 1.638783(5 4.5) = 1.102886
Se calculan otros valores y los resultados se grafican en la figura 18.16c.
Los resultados de los ejemplos 18.8 a 18.10 se resumen en la figura 18.16. Observe
cmo mejora progresivamente el ajuste conforme pasamos de trazadores lineales, a
cuadrticos y cbicos. Tambin hemos sobrepuesto un polinomio de interpolacin cbica en la figura 18.16c. Aunque el trazador cbico consiste de una serie de curvas de
tercer grado, el ajuste resultante difiere del obtenido al usar un polinomio de tercer
grado. Esto se debe al hecho de que el trazador natural requiere segundas derivadas
iguales a cero en los nodos extremos; mientras que el polinomio cbico no tiene tal
restriccin.
Chapra-18.indd 535
6/12/06 13:57:56
536
INTERPOLACIN
Observe que la subrutina de la figura 18.18 da slo un valor interpolado, yu, para
un valor dado de la variable dependiente, xu. sta es slo una forma en la cual se puede
implementar la interpolacin mediante trazadores. Por ejemplo, a usted desear determinar los coeficientes una sola vez y, despus, realizar muchas interpolaciones. Adems,
la rutina da tanto la primera (dy) como la segunda derivadas (dy2) en xu. Aunque no es
necesario calcular esas cantidades, son tiles en muchas aplicaciones de la interpolacin
mediante trazadores.
FIGURA 18.18
Algoritmo para la interpolacin mediante trazadores cbicos.
Chapra-18.indd 536
6/12/06 13:57:56
PROBLEMAS
537
PROBLEMAS
18.1 Estime Estime el logaritmo natural de 10 por medio de
interpolacin lineal.
a) Interpole entre log 8 = 0.9030900 y log 12 = 1.0791812.
b) Interpole entre log 9 = 0.9542425 y log 11 = 1.0413927.
Para cada una de las interpolaciones calcule el error relativo
porcentual con base en el valor verdadero.
18.2 Ajuste un polinomio de interpolacin de Newton de segundo orden para estimar el log 10, con los datos del problema 18.1
en x = 8, 9 y 11. Calcule el error relativo porcentual verdadero.
18.3 Ajuste un polinomio de interpolacin de Newton de tercer
orden para estimar log 10 con los datos del problema 18.1.
18.4 Dados los datos
x
f (x)
1.6
2.5
3.2
4.5
14
15
f (x)
19
99
291
444
0.5
0.3333
0.25
0.2
0.1667 1.1429
f (x)
0.5
0.8
0.9
0.941176
0.961538
Chapra-18.indd 537
6/12/06 13:57:57
538
INTERPOLACIN
Chapra-18.indd 538
0.10377
0.11144
0.1254
6.4147
6.5453
6.7664
6/12/06 13:57:57