Derivación e integración numéricas

Anuncio
Capítulo 4
Derivación e integración
numéricas
4.1
Introducción
A veces es necesario calcular el valor, L (f), que el funcional L asigna a la
función f perteneciente a un conjunto F. Algunos ejemplos son los siguientes:
• L (f ) = f (a), siendo F el conjunto de las funciones derivables en a.
• L (f ) = f (a), siendo ahora F el espacio de las funciones que admiten
derivada tercera en a.
b
• L (f ) = a f, donde F puede ser el conjunto de las funciones integrablesRiemann en el intervalo [a, b].
En todos los casos, L será un funcional lineal, es decir, L (f + g) = L (f) +
L (g) para cualesquiera elementos f y g del conjunto F, y, L (αf ) = αL (f),
siendo α un escalar real arbitrario y f perteneciente a F.
En muchas situaciones prácticas no será posible obtener explícitamente el
valor de L (f). Por ejemplo, si la variación de la concentración de un reactivo
es proporcional a la concentración existente en cada instante, resolviendo la
ecuación diferencial conocemos que la curva solución es de tipo exponencial.
Pero, ?‘cuánto vale la pendiente en t = 1 de la curva que representa a la
concentración si lo único que podemos medir es la concentración en cada instante?, es decir, ?‘cómo podemos calcular L (f) = f (1)? No conocemos una
expresión explícita de la función f. Aunque el problema más frecuente es que
2
Capítulo 4. Derivación e integración numéricas
se necesite conocer el valor de una derivada primera o, a lo sumo, la segunda,
en un punto a, también puede que se necesite calcular una derivada de orden
superior, f (k) (a), es decir que L (f) = f (k) (a), y no se conoce una expresión
explícita de f (o, caso de conocerla, es excesivamente compleja). Posiblemente
sólo se conozca el valor de f en puntos próximos al a, incluso en el propio a.
Ello servirá para aproximar el valor de f (k) (a). Es un problema de derivación
numérica.
Otro ejemplo. Sabemos que la función f(x) = x1 ex es continua en el inter3
3
valo [1, 3]. Pero, ?‘cómo podemos calcular 1 x1 ex dx? ?‘Y L (f) = 1 f (x)dx?
No existe una primitiva de f que se exprese en términos
elementales. En genb
eral, en muchas ocasiones hay que calcular el valor a f (x) dx para una función
f integrable en [a, b], de la que no se conoce una primitiva y, por tanto, no
podemos aplicar la regla de Barrow. Posiblemente se conozca el valor que
f toma en varios puntos del intervalo [a, b], a veces en todos los puntos del
intervalo, incluso puede que el valor de derivadas de
b f en puntos del mismo.
Esos datos nos servirán para aproximar el valor de a f(x)dx. Es un problema
de integración numérica.
Podríamos dar más ejemplos, correspondientes a otros funcionales L, pero
son los dos anteriores, derivación e integración, los más interesantes. En
cualquier caso, desde el punto de vista de la aproximación de L (f) mediante fórmulas de tipo interpolatorio, el tratamiento sería idéntico en todos
los casos: aproximar f por un interpolante, p, y tomar como aproximación
de L (f ) el valor L (p) . Ni que decir tiene que el espacio interpolador al que
pertenece p debe estar constituido por funciones sencillas de forma que sea
posible calcular L (p).
4.2
Fórmulas de tipo interpolatorio
Los polinomios son funciones muy sencillas de derivar y de integrar, por lo que
son muy utilizados como interpolantes para obtener fórmulas de derivación
e integración numéricas. Por ejemplo, si se dispone de datos lagrangianos,
podemos aproximar L (f) mediante el que L asigna al polinomio de interpolación de f. Más concretamente, conocidos los valores que f toma en los nodos
(distintos) x0 , x1 , . . ., xn , sea p ∈ Pn el único polinomio tal que p (xi ) = f (xi ),
0 ≤ i ≤ n; entonces
L (f) L (p)
(4.1)
es una fórmula de tipo interpolatorio para L en Pn cuyos nodos son x0 , x1 ,
. . ., xn .
§4.2 Fórmulas de tipo interpolatorio
3
Supongamos, por ejemplo, que p es el polinomio de grado menor o igual
que uno que interpola a la función f en los puntos x0 = 4 y x1 = 6. Entonces
p (x) = f (4) +
y, si L (f ) =
b
a
f (6) − f (4)
(x − 4)
6−4
f , podemos hacer
b
f = L (f) L (p) =
a
b
p
a
=
b
f (6) − f (4)
f (4) +
(x − 4) dx
2
a
= f (4) (b − a) +
f (6) − f (4)
(b − a)2
4
Tendríamos así una primera fórmula de integración numérica, de tipo interpolatorio en P1 , cuyos nodos son 4 y 6 (normalmente los nodos pertenecen
al intervalo [a, b]).
Sin embargo, si L (f) = f (5), se tiene
f (5) = L (f ) L (p) = p (5)
=
f (6) − f (4)
2
Es una fórmula de derivación numérica, con dos nodos, que permite aproximar
f (5) a partir del valor de f en los puntos 4 y 6.
Tanto para las fórmulas de integración como las de derivación numérica, los
datos más habituales son los valores de la función en puntos distintos, llamados
nodos de la fórmula. El espacio interpolador suele ser el de los polinomios de
grado menor o igual que n si hay n + 1 datos. No obstante, podría utilizarse
otro espacio interpolador y los datos podrían ser distintos. Por ejemplo, para
aproximar la integral podrían usarse algunos datos derivada. En lo que sigue,
salvo que se especifique otra cosa, el espacio interpolador será Pn y los datos
serán lagrangianos, correspondientes a n + 1 nodos.
El error de truncamiento, R (f), cometido al aproximar L (f) mediante
la fórmula de tipo interpolatorio (4.1) es R (f) = L (f) − L (p) = L (f − p) .
Como es conocido, f − p es el error de interpolación.
4
Capítulo 4. Derivación e integración numéricas
4.3
Fórmulas de derivación numérica
En primer lugar, suponemos que es necesario aproximar la derivada primera
de f en un punto a, es decir L (f) = f (a). Vamos a obtener fórmulas con dos
y tres nodos (con un solo nodo x0 se tiene p (x) = f (x0 ) y, por tanto sería
f (a) 0, fórmula que carece de interés por dar la misma aproximación para
todas las funciones y para todo punto a).
(x0 )
Con dos nodos, x0 y x1 , se tiene que p (x) = f (x0 ) + f (xx11)−f
(x − x0 )
−x0
y, por tanto, la fórmula de derivación numérica es
f (a) f (x1 ) − f (x0 )
.
x1 − x0
Es razonable que los nodos sean próximos a a.. Si x0 = a y x1 = a + h
(con h = 0), la fórmula es
f (a) f (a + h) − f (a)
.
h
(4.2)
Si h tiende a cero, la aproximación tiende al valor exacto cuando f es derivable
en a; por tanto, para h muy pequeño, la aproximación será buena cuando no
se produzcan errores al evaluar f ni en las operaciones.
Si x0 = a − h y x1 = a + h, la fórmula resultante es
f (a) f (a + h) − f (a − h)
.
2h
(4.3)
Con tres nodos, x0 , x1 y x2 , las siguientes son las tres elecciones más importantes:
• x0 = a − h , x1 = a , x2 = a + h.
También da lugar a la fórmula (4.3).
• x0 = a, x1 = a + h , x2 = a + 2h.
En este caso el polinomio de interpolación es
p (x) = f (a)+
f (a + h) − f (a)
(x − a)+f [a, a + h, a + 2h] (x − a) (x − a − h) .
h
Es inmediato comprobar que la fórmula de derivación numérica f (a) p (a) se traduce en
f (a) −3f (a) + 4f (a + h) − f (a + 2h)
.
2h
§4.3 Fórmulas de derivación numérica
5
• x0 = a − 2h, x1 = a − h , x2 = a.
Un proceso análogo da lugar a la fórmula
f (a) f (a − 2h) − 4f (a − h) + 3f (a)
.
2h
Del mismo modo podrían calcularse fórmulas con cuatro, cinco o más nodos.
A continuación vamos a ver fórmulas de tipo interpolatorio para la derivada
de orden 2, es decir, L (f) = f (a). Debe haber tres o más nodos pues con dos
el polinomio es de grado uno y su derivada segunda es nula para toda función
f y para todo punto a.
Con tres nodos, x0 , x1 y x2 , el polinomio de interpolación p es
p (x) = f (x0 ) + f [x0 , x1 ] (x − x0 ) + f [x0 , x1 , x2 ] (x − x0 ) (x − x1 ) ,
con lo cual f (a) p (a) = 2f [x0 , x1 , x2 ]. Indicamos a continuación las tres
elecciones más frecuentes.
• x0 = a − h , x1 = a , x2 = a + h.
Da lugar a la fórmula
f (a) f (a − h) − 2f (a) + f (a + h)
.
h2
• x0 = a, x1 = a + h , x2 = a + 2h.
Produce la fórmula
f (a) f (a) − 2f (a + h) + f (a + 2h)
.
h2
• x0 = a − 2h, x1 = a − h , x2 = a.
En este caso,
f (a) f (a − 2h) − 2f (a − h) + f (a)
.
h2
El proceso para las demás fórmulas de derivación numérica, tanto si es
de orden superior a dos (digamos k) como si los nodos son diferentes de los
considerados anteriormente, es totalmente análogo: se calcula el polinomio de
interpolación y se halla su derivada de orden k en el punto a. Posteriormente
daremos otras fórmulas.
6
Capítulo 4. Derivación e integración numéricas
4.4
Fórmulas de Integración numérica: Fórmulas
simples
b
Supongamos ahora que el funcional lineal es L (f) = a f(x)dx.
La fórmula de integración numérica basada en un nodo, x0 , se obtiene
integrando el polinomio de interpolación p (x) = f (x0 ) en el intervalo [a, b]:
a
b
f (x) dx b
f (x0 ) dx = (b − a) f (x0 ) .
a
Gráficamente, si f es no negativa, lo que se hace es aproximar el área
debajo de la curva y = f (x), comprendida entre x = a y x = b, por el área
del rectángulo de base b − a y altura f (x0 ) .
Si x0 = a, se denomina fórmula del rectángulo izquierda; si x0 = b, fórmula del rectángulo derecha y fórmula del punto medio si x0 = a+b
2 . Son las
siguientes, respectivamente:
b
f(x)dx (b − a) f (a)
a
b
f(x)dx (b − a) f (b)
a
b
a+b
f(x)dx (b − a) f
2
a
Con dos nodos, x0 y x1 , el polinomio de interpolación es p (x) = f (x0 ) +
(x − x0 ). La correspondiente fórmula de integración numérica es
f (x1 )−f (x0 )
x1 −x0
a
b
b
f (x1 ) − f (x0 )
f(x)dx f (x0 ) +
(x − x0 ) dx
x1 − x0
a
f (x1 ) − f (x0 ) (b − x0 )2 (a − x0 )2
= (b − a) f (x0 ) +
−
x1 − x0
2
2
Si x0 = a y x1 = b, es la fórmula del trapecio:
b
f (a) + f (b)
.
f(x)dx (b − a)
2
a
Con tres nodos se tiene una de las fórmulas más importantes en la integración numérica: la de Simpson. Corresponde a x0 = a, x1 = a+b
2 y x2 = b
§4.5 Fórmulas de Newton-Cotes
7
(interpolación en P2 ). La fórmula de Lagrange para el polinomio de interpolación es
(x − x1 ) (x − x2 )
(x − x0 ) (x − x2 )
+ f (x1 )
+
p (x) = f (x0 )
(x0 − x1 ) (x0 − x2 )
(x1 − x0 ) (x1 − x2 )
(x − x0 ) (x − x1 )
.
f (x2 )
(x2 − x0 ) (x2 − x1 )
Sustituyendo los valores concretos de los nodos e integrado entre a y b, se
obtiene
b
b−a
a+b
f (x) dx f (a) + 4f
+ f (b) .
6
2
a
Obsérvese que el peso en el nodo central es cuatro veces el peso en los extremos.
Para una fórmula de tipo interpolatorio el número de nodos de interpolación puede ser mucho mayor que el usado antes. Además, los nodos pueden
ser diferentes; por ejemplo, nada nos impide para aproximar la integral entre
[1, 3] usar los nodos x0 = 1.35 y x1 = 2.9 en lugar de los correspondientes a la
fórmula del trapecio. Incluso, en lugar de interpolar en Pn , podemos utilizar
otro espacio de funciones (polinomios trigonométricos, funciones spline, etc.).
En definitiva, una infinidad de posibilidades diferentes.
4.5
Fórmulas de Newton-Cotes
El intervalo de integración [a, b] se puede dividir en n subintervalos de igual
longitud, h = b−a
n . Entonces, si elegimos como nodos los puntos xi = a + ih,
i = 1, . . . , n−1, la fórmula obtenida se denomina de Newton-Cotes abierta con
n − 1 nodos. Por ejemplo, con n = 2 se obtiene la fórmula de Newton-Cotes
con un solo nodo, que es la fórmula del punto medio.
Si elegimos como nodos los puntos xi = a + ih, i = 0, . . . , n, la fórmula
obtenida se denomina de Newton-Cotes cerrada con n + 1 nodos. Por ejemplo,
con n = 1 se obtiene la fórmula de Newton-Cotes con dos nodos, que es la
fórmula del trapecio. Con n = 2 se obtiene la de Simpson.
Otras fórmulas de Newton-Cotes, y sus errores de truncatura, son las siguientes:
• fórmula 3/8 de Simpson
Con h = b−a
3 ,
b
3h
3h5 (iv)
(f (a) + 3f (a + h) + 3f (a + 2h) + f (b))−
f
(ξ)
f (x) dx =
8
80
a
8
Capítulo 4. Derivación e integración numéricas
• fórmula de Boole
Con h =
b−a
4 ,
b
f (x) dx =
a
2h
(7f (a) + 32f (a + h) + 12f (a + 2h) + 32f (b − h) + 7f (b)) −
45
8h7 (vi)
f
(ξ)
945
• fórmula de Newton-Cotes abierta con dos nodos
Con h =
b−a
3 ,
b
f (x) dx =
a
3h
h3
(f (a + h) + f (b − h)) + f (ξ)
2
4
Podríamos dar muchas más fórmulas de Newton-Cotes, pero es conocido
que la interpolación lagrangiana sobre puntos igualmente espaciados no es
convergente (ejemplo de Runge). Luego no es recomendable usar una fórmula
de Newton-Cotes con muchos nodos para obtener gran precisión.
Sin embargo, como la integral es aditiva, podemos descomponer el intervalo
de integración en n subintervalos mediante una partición uniforme del mismo
con nodos xi = a + ih, i = 0, . . . , n, y expresar la integral en [a, b] como suma
de integrales en los intervalos inducidos por la partición:
a
b
f (x) dx =
n−1
xi+1
i=0
f (x) dx.
(4.4)
xi
Si n es grande los intervalos de integración son pequeños con lo cual el
error al aplicar una fórmula de integración en cada uno puede que sea pequeño.
El error total de truncatura es la suma de los errores en cada subintervalo.
Veremos posteriormente que su valor tiende a cero cuando n → ∞.
4.6
Fórmulas compuestas
Las fórmulas compuestas son las obtenidas al aplicar una misma fórmula simple de integración numérica a cada uno de los sumandos de (4.4). Damos
algu
xi +xi+1
nas a continuación (para simplificar, notamos fi = f (xi ), fi+ 1 = f
).
2
2
§4.7 Orden de precisión de las fórmulas de tipo interpolatorio
9
• Fórmula del rectángulo a la izquierda compuesta
b
f (x) dx h
a
n−1
fi .
i=0
• Fórmula del rectángulo derecho compuesta
b
f (x) dx h
a
n−1
fi+1 .
n−1
fi+ 1 .
i=0
• Fórmula del punto medio compuesta
b
f (x) dx h
a
2
i=0
• Fórmula del trapecio compuesta
a
b
f (x) dx h
n−1
f0 + fn +
fi .
2
i=1
• Fórmula de Simpson compuesta
b
n−1
n−1
h
f (x) dx f0 + fn + 2
fi + 4
fi+ 1 .
2
6
a
i=1
i=0
4.7
Orden de precisión de las fórmulas de tipo interpolatorio
Si f es un polinomo de grado menor o igual que n al ser interpolada por un
polinomio p de Pn se obtiene la misma función, p = f, con lo cual el error de
la fórmula para dicha función es R (f) = L (f − p) = L (0) = 0. Es decir, las
fórmulas de tipo interpolatorio son exactas para toda función de Pn . Luego
su orden de precisión es mayor o igual que n. Para saber el orden exacto
sólo tendremos que calcular el error que se comete con las funciones xn+k (o
bien con las funciones (x − c)n+k ), para k = 1, 2, .. hasta que dicho error sea
distinto de cero. Por ejemplo, la fórmula del rectángulo (exacta en P0 ) da error
diferente de cero para la función x−a, ya que R (x − a) = 21 (b−a)2 −0·(b−a) =
10
Capítulo 4. Derivación e integración numéricas
1
2
2 (b − a)
= 0. Su orden de precisión es cero. Sin embargo, para
la fórmula del
a+b
a+b 2
punto medio se cumple que R x − 2 = 0 y R x − 2
= 0, con la que
la fórmula del punto medio tiene orden de precisión 1. Esto ya se sabía sin más
que observar la expresión del error. En la del rectángulo aparece la derivada
primera de la función mientras que en la del punto medio interviene la derivada
segunda. Es inmediato comprobar que la fórmula del trapecio tiene orden de
precisión 1 y que la de Simpson tiene orden de precisión 3. Análogamente, la
(a)
fórmula de derivación numérica f (a) f (a+h)−f
tiene orden de precisión
h
f (a+h)−f (a−h)
tiene orden de precisión 2. Es decir,
1, mientras que f (a) 2h
algunas elecciones de nodos son mejores que otras, puesto que con un solo nodo
tenemos unas fórmulas de integración numérica que tienen orden de precisión
cero y otra con precisión 1; en derivación numérica, con dos nodos hay fórmulas
con precisión 1 y otra con precisión2, etc.
El orden de precisión es en todas ellas al menos n, pero ?‘cuánto más
puede aumentar con una elección adecuada de los nodos? Suponiendo que los
datos de interpolación son todos lagrangianos, en las fórmulas para la derivada
primera no se puede aumentar el orden más allá del valor n + 1. Además, si
Π (x) = (x − x0 ) · · · (x − xn ), de (??) y (??) se deduce que
R (f ) = (f − p) (a)
= f [x0 , ..., xn , a, a] Π (a) + f [x0 , ..., xn , a] Π (a)
=
f (n+2) (ξ)
f (n+1) (ξ) Π(a) +
Π (a)
(n + 2)!
(n + 1)!
Se necesita que Π (a) = 0 para conseguir el orden n + 1. Para aumentar más
se necesitaría que Π (a) = 0 por lo que a sería un cero doble de Π (x) = 0 y,
por tanto, tendríamos como dato el propio valor de f (a).
Resumiendo, en esta práctica se obtienen fórmulas de tipo interpolatorio,
y se opera de dos formas:
• Se obtiene el polinomio de interpolación, p, de la función f a partir de
las fórmulas de Lagrange o Newton y se aproxima L (f) mediante L (p).
• Como la interpolación es exacta cuando f es un polinomio de Pn , la
aproximación L (f ) L (p) para p ∈ Pn se convierte en L (f) = L (p),
resultado que nos permite abordar la determinación de la fórmula para
L (f) imponiendo que sea exacta en Pn . Por ejemplo, la fórmula de
§4.7 Orden de precisión de las fórmulas de tipo interpolatorio
11
integración numérica del tipo
b
L (f) =
f c1 f (a) + c2 f (b)
a
se calcula obligando a que sea exacta en P1 , es decir, si e0 (x) = 1 y
e1 (x) = x, se impone que se cumplan las condiciones
L (ei ) = c1 ei (a) + c2 ei (b) , i = 0, 1.
Si la fórmula de integración numérica es gaussiana, entonces debemos
hallar el polinomio ortogonal adecuado, calcular sus raíces y utilizar
éstas como nodos de interpolación.
Por último, debemos indicar que Mathematica dispone de órdenes específicas para manejar los polinomios ortogonales clásicos y de una orden especialmente diseñada para proporcionar una aproximación de la
integral de una función con una alta exactitud, NIntegrate.
Descargar