You are on page 1of 9

Cap´ıtulo 6

Integraci´on y diferenciaci
´on num´erica

53
54 Introduccio
´n

6.1 Introduccio´n

En este tema se tratar´a exclusivamente con funciones reales de variable real. Su


objetivo es tratar de obtener num´ericamente valores para la derivada de una funcio´n
en un punto, o para la integral definida en algu´n intervalo, conociendo los valores de la
funcio´n so´lo en algunos puntos. Obs´ervese que, planteado sin ninguna restriccio´n, o
con restricciones muy gen´ericas, este problema no tiene una u´nica solucio´n. Por
ejemplo, si so´lo establecemos la restriccio´n de que las funciones deben ser cont´ınuas (o
sea, de clase C 0 ) y pasar por ciertos puntos (x0, y0) . . . (xn, yn), en la (figura 6.1) se pueden
apreciar varias de ellas que cumplen esto, y para las que obviamente, las derivadas en
cualquier punto, as´ı como las integrales en cualquier intervalo, difieren. Sin embargo, si nos
restringimos a ciertas clases de funciones, como los polinomios de grado n, la funcio´n,
segu´n se vio´ en el tema de interpolaci´on, ser´ıa u´nica. Por todo ello, en la seccio´n
de derivaci´on supondremos que para calcular la derivada en un punto dado conocemos los
valores de la funcio´n en cualesquiera puntos arbitrariamente pro´ximos a ´este, e igualmente
que para calcular la integral lo haremos de una de las funciones que cumplen las condiciones
pedidas, limit´andonos a acotar el error cometido.

y 1
y2y
y04
y3

x0 x1 x2 x3 x4
Figura 6.1: Varias funciones que pasan por una serie de puntos dados

En las secciones sucesivas necesitaremos dos teoremas de an´alisis matema´tico ya


conocidos, pero que se enuncian como recordatorio.
Teorema del resto
Sea f (x) una funcio´n de R en R de clase C n−1 (o sea, cont´ınua y con derivadas hasta
orden n − 1 cont´ınuas) en el intervalo cerrado [x, x + h] y cuya derivada de orden n existe en el
intervalo abierto ]x, x + h[. Entonces existe algu´n punto ξ ∈]x, x + h[ tal que
h hn (n)
f (x + h) = f (x) + hf J(x) JJ 2f (x) + . . . (ξ)
2 n! f
+ +
El teorema es de existencia, es decir, dice que tal punto ξ est´a entre x y x + h, pero no cu´al
es. En cualquier caso, conociendo los valores m´ınimo y ma´ximo de las derivadas en [x,
x + h] el teorema, como veremos despu´es, puede servir para acotar el error cometido en
un desarrollo en serie.
Propiedad de D’Arboux
Sea f (x) cont´ınua en el intervalo cerrado [a, b], y supongamos que f (a) ≤ f (b). Entonces, ∀y ∈
]f (a), f (b)[ existe un punto ξ ∈]a, b[ tal que f (ξ) = y. Es decir, todos los valores comprendidos
5

entre los que la funcio´n toma en los dos extremos del intervalo se alcanzan en al menos
uno de los puntos interiores del mismo.

6.2 Diferenciacio´n num´erica

6.2.1 M´etodos directos

Dada una funcio´n f de clase C 1 definida sobre un intervalo [x, x + h], estamos interesados en
calcular su derivada f J(x) en el punto x. Para ello, partimos de la definicio´n de derivada:

J f (x + h) − f (x)
f (x) = l´ım
h→0 h
Entonces, podemos tomar un valor h pequen˜o y hacer una primera estimaci´on del valor de
la derivada como
f (x + h ) − f (6.1)
(fxJ)(x)
'
h
Sin embargo, esta aproximacio´n no permite acotar el error cometido. No obstante, si recurri-
mos a desarrollar en serie f alrededor de x hasta orden n-1, con resto de orden n, obtenemos
h hn (n)
f (x + h) = f (x) + hf J(x) JJ 2f (x) + . . . (ξ)
+ 2 + n! f

Podemos particularizar a n = 2 y despejar f J(x) como


f (x + h) − f (x) h
f J(x) = −
f JJ(ξ) (6.2)
h 2
Como quiera que, si la derivada segunda existe en ]x, x + h[, el segundo t´ermino tiende a 0
al tender h a 0, este t´ermino da el error cometido cuando no lo consideramos, es decir,
cuando aproximamos usando la ecuaci´on (6.1).
π
Ejemplo: usar la ecuaci´on (6.1) para evaluar la derivada de f (x) = cos(x) en x =
4
tomando h = 0,01, y evaluar luego el error cometido usando la ecuaci´on (6.2).
π
f J( cos( π + 0,01) − cos( π
4 )' 4 4
=
) 0,01
El t´ermino de error sera´
h
| f JJ (ξ) |= 0,005 | cos(ξ) |≤ 0,005
2
de modo que la cota superior para el error sera´ ϵ a = 0,005. As´ı pues, f J( π ) = −0,711 ±
0,005. 4

Como hemos visto, el t´ermino de error es proporcional al taman˜o del paso, h. Por
ello, deber´ıa tomarse un taman˜o de paso pequen˜o. Alternativamente, podemos
preguntarnos si existen fo´rmulas ma´s precisas, que hagan el error proporcional a otras
potencias de h. En efecto, si tomamos tres t´erminos del desarrollo en serie de Taylor de
f alrededor de x, y adem´as usamos dos valores de h, uno positivo y otro negativo,
obtenemos
h 2f
h 3f
f (x + h) = f (x) + hf J(x) JJ (x) JJJ (ξ1) (6.3)
+ 2 + 6
h2 h 3
JJ f JJJ f
(ξ2) (6.4)
f (x − h) = f (x) − hf J(x) 2 (x) 6
+ −
5 Diferenciacio´n num

Restando dichas ecuaciones, y despejando la derivada se obtiene

2
f J(x) = f (x + h) − f (x − h JJJ JJJ
h) 2h 6(f (ξ1) + (ξ2))
f

Si ahora suponemos que f es al menos de clase C 3 en el intervalo ]ξ1, ξ2[, por la propiedad de
JJJ
(ξ )+f JJJ (ξ2 )
D’Arboux, existe un punto ξ ∈]ξ1 , ξ2 [ tal que f JJJ (ξ) = f 1 , con lo que la
derivada 2
queda
f (x + h ) − f (x − h 2
f J(x) JJJ f (ξ) (6.5)
h) 2h −3
=
Observemos que el t´ermino de error es ahora del orden de h 2 , que si h es pequen˜a, es
menor que h, resultado obtenido en el caso anterior.
Por otra parte, es posible tambi´en usar ecuaciones similares a la (6.3) para calcular
deri- vadas de orden superior. Por ejemplo, para la segunda,

f (x + h) = f (x) + hf J(x) h h 4
+ 2
JJ f (x) JJJ
3f (x) + h f
IV (ξ1) (6.6)
2 + 6 24
h 2 h 3
f (x − h) = f (x) − hf JJ f f 4 (ξ2) (6.7)
JJJ (x) +h f
J
(x) + 2 (x) 6 IV

− 24

Sumando ambas ecuaciones, usando de nuevo la propiedad de D’Arboux para la derivada


cuarta, y despejando f JJ(x), queda

JJ f (x + h) − 2f (x) + f (x − h2 IV
h)
f (x) = − (ξ)
h2 12
f

Se deja como ejercicio el ca´lculo de una expresi´on similar para la derivada tercera.
No´tese que el ca´lculo de cualquier derivada involucra al valor de la funcio´n en puntos x
+ h o´ x − h. Si la funcio´n es conocida expl´ıcitamente (p. ej., si tenemos su expresi´on
anal´ıtica, o un algoritmo seguro para su ca´lculo) esto es razonable. Pero si la funcio´n
es el resultado de algu´n experimento, o debe estimarse por procedimientos que vengan
afectados de gran error, no deber´ıan usarse las fo´rmulas anteriores para la estimaci´on
de la derivada, dado que las diferencias entre dos cantidades muy pro´ximas que aparecen
en los numeradores, as´ı como la divisio´n por cantidades muy pequen˜as, amplifican los
errores.

6.2.2 Extrapolacio´n de Richardson

Con este procedimiento trataremos de mejorar las ecuaciones obtenidas anteriormente para
conseguir au´n ma´s precisio´n en la estimaci´on de la derivada de f en un punto x.
Supongamos que f (x) es de clase C n en [x, x + h]. En tal caso, su desarrollo en serie de
Taylor alrededor de x para los puntos x + h y x − h sera´ de la forma
∞ k
f (x + h) = Σh (k)
f (x)
k!
k=0
∞ k k
Σ
5 Diferenciacio´n num
f (x − h) = (−1) h (k)
k! f (x)
k=0
Extrapolaci´on de 5

Restando ambas ecuaciones, todos los t´erminos de orden par se cancelan, resultando
2 2
f (x + h) − f (x − h) = 2hf J(x) + h3f JJJ(x) + h5f (V )(x) + . . .
3! 5!
de donde, despejando f J(x),

f (x + h) − f (x − h) 1 1
f J(x) = − h2f (3)(x) + h4f (V )(x) + . . .
2 3 5
lo que se puede escribir como

L = ϕ(h) + a2h2 + a4h4 + a6h6 + . . . (6.8)

en la que L = f J(x), la funcio´n ϕ(h) se define como f (x+h)−f (x−h) y ak = − 1 f


(k+1) 2 (k+
(x).
No´tese que, debido a su definicio´n, con h en el denominador, ϕ(h) so´lo puede evaluarse
para valores de h distintos de 0, aunque arbitrariamente pro´ximos. No´tese igualmente que
el error si damos ϕ(h) como valor para la derivada depende de t´erminos en potencias de
h, siendo el t´ermino dominante el correspondiente a h 2 . La ecuaci´on (6.8) da la primera
estimaci´on de la derivada usando el m´etodo de Richardson, pero se puede continuar
para conseguir que el t´ermino dominante del error sea au´n ma´s pequen˜o. Para ello,
escribamos la ecuaci´on (6.8) evalu´andola en h , lo que da
2
h h2 h4
L = ϕ(
) + a2 + a4 +... (6.9)
2 4 16
Restandole ahora a la ecuaci´on (6.9) multiplicada por 4 la ecuaci´on (6.8), obtenemos
h h4 h6
3L = 4ϕ( ) − ϕ(h) − 3a4 − 15a6 − ...
2 4 16
de donde podemos despejar la derivada L que buscamos como
4 h 1
h4 h6
L= ϕ( ) − ϕ(h) − 3a4 − 15a6 − ... (6.10)
3 2 3 4 16
Esto significa que, usando una simple combinacio´n de ϕ(h) y ϕ( h ), hemos obtenido una
2
precisio´n del orden de h4 , frente al orden h2 que hab´ıamos obtenido usando so´lo ϕ(h).
An´alogamente se puede repetir el proceso tantas veces como se quiera; el siguente
paso
definir´ıa ψ(h) = 4 ϕ( h ) − 1 ϕ(h) con lo que la ecuaci´on (6.10) evaluada en h y en h queda
3 2 3 2

L = ψ(h) + b4h4 + b6h6 + . . .


h h4 h6
L = ψ( ) + b4 + b6 +...
2 16 64
de donde se puede despejar L, multiplicando la segunda ecuaci´on por 16 y resta´ndole
la primera:
16 h 1 h6
L= ψ( ) − ψ(h) − b6 − ...
15 2 15 20
que es una estimaci´on de f J(x) con precisio´n del orden de h6 .
5 Integraci´on num

Escogido un valor apropiado, digamos 1, para h, la repetici´on del proceso lleva a la siguiente
fo´rmula general:

D(n, 0) = L + O(h2)
D(n, 1) = L + O(h4)
D(n, 2) = L + O(h6)
...
D(n, k − 1) = L + O(h2k)

siendo D(n, 0) = ϕ( h ) y el resto de las cantidades D definidas recursivamente como


2
4k 1
D(n, k) = D(n, k − 1) − D(n − 1, k − 1)
4k − 1 4k − 1
Es obvio verificar que D(0, 0) = ϕ(h), D(1, 0) = ϕ( h ) y D(1, 1) = ψ(h).
2
Finalmente, recalquemos una vez ma´s que todo esto involucra el conocimiento de f
en valores pro´ximos a x (en concreto, en x + h ) por lo que so´lo deber´a usarse si dichos
2
valores est´an disponibles, o se pueden calcular sin gran error.

6.3 Integraci´on num´erica

Dada una funcio´n f definida sobre un intervalo [a, b], estamos interesados en calcular
∫ b
a
J(f ) f (x)dx
suponiendo que esta integral tenga sentido para la funcio´n f . La cuadratura o integraci
´on num´erica consiste en obtener fo´rmulas aproximadas para calcular la integral J(f ) de f
. Estos m´etodos son de gran utilidad cuando la integral no se puede calcular por m´etodos
anal´ıticos, su ca´lculo resulta muy costoso y estamos interesados en una solucio´n con
precisio´n finita dada o bien so´lo disponemos de una tabla de valores de la funcio´n (es
decir, no conocemos la forma anal´ıtica de f ).

6.3.1 Integracio´n v´ıa interpolacio´n polinomial

Una estrategia muy u´til para calcular el valor num´erico de la integral dada por la
ecua- ci´on (6.11) consiste en reemplazar f por otra funcio´n g, fa´cil de integrar, que
aproxima a f de forma adecuada. Si f ≈ g, se deduce que

∫b ∫b
f (x)dx
a ≈ g(x)dx
a

Los polinomios son buenos candidatos para el papel de g. De hecho, g puede ser un polinomio
que interpola a f en cierto conjunto de nodos1.

1
Por ejemplo, tambi´en se puede recurrir a splines para interpolar a f y aprovechar que estas funciones
son f´acilmente integrables.
Regla del 5

Supongamos que deseamos calcular la integral (6.11). Podemos elegir una serie de nudos,
x0 , x1 , . . . , xn en el intervalo [a, b] e iniciar un proceso de interpolaci´on de Lagrange
(ver apartado 3.1.2 para una descripci´on de los polinomios de interpolaci´on de
Lagrange). El polinomio de grado menor o igual a n que interpola a f en los nudos es:
n
p(x) = Σf (xi)li(x) (6.12)
i=0

La integral (6.11) se puede escribir entonces como:

∫b ∫b Σ ∫b
f (x)dx p(x)dx f (xi)li(x)dx

a = a
a n

i=0

Es decir, tenemos una fo´rmula general que se Σ


puede emplear para cualquier f y que tiene
la forma:
b
∫ f (x)dx n Aif (xi) (6.13)
a ≈

en donde ∫ b
i=0
Ai li(x)
a

6.3.2 Regla del trapecio

Si en la expresi´on (6.13) empleamos polinomios de grado n = 1 y tomamos como nudos x 0 = a


y x1 = b, tenemos el caso ma´s sencillo posible, en donde los polinomios de interpolaci´on
son:
b− x
l (x) =
0 xb − aa
l (x) =
1
b−a
por lo que:
∫ b ∫ b
1
A0 l0(x)dx = (b − l1(x)dx =
a 2 a
La fo´rmula de cuadratura correspondiente es:
b
∫ f (x)dx b− a
a ≈ [f (a) + f
(b)] 2
Esta expresi´on se conoce como regla del trapecio y proporciona un resultado exacto
para todas las funciones de grado menor o igual a 1.
Si en el intervalo de integraci´on [a, b] se hace una particio´n en n subintervalos como
la siguiente:
a = x0 < x1 < · · · < xn = b
en donde los puntos se encuentran equiespaciados de acuerdo con las expresiones:

xi = a + ih (0 ≤ i ≤
n) h = (b − a)/n
6 Integraci´on num

entonces se puede aplicar la regla del trapecio a cada uno de los subintervalos. Es as´ı como
se obtiene la regla del trapecio compuesta, que adopta la forma:
∫ b " #
n−1
h
f (x)dx ≈ f (a) Σ
f (a + ih) + f
a
i

6.3.3 Regla de Simpson

Empleando un razonamiento similar al anterior, podemos tomar un polinomio de grado n = 2


para interpolar a f , que pase por (a, f (a)), ( a+b , f ( a+b )) y (b, f (b)), con lo que obtendr
´ıamos 2 2
la conocida regla de Simpson:

b
b−a a+ b
f (x)dx f (a) + +f (6.1
a 6 2
que es exacta para todos los polinomios de grado ≤ 2 y curiosamente, exacta para todos los
polinomios de grado ≤ 3.
En los ca´lculos pra´cticos se emplea, generalmente, la regla de Simpson
compuesta, en la que el intervalo de integraci´on [a, b] se divide en un nu´mero par, n,
de subintervalos. Tenemos entonces:
xi = a + ih (0 ≤ i ≤ n)
en donde
h = (b − a)/n
Aplicando la regla de Simpson (6.14) en cada uno de los subintervalos se obtiene la expresi´on
final:
n/2 n/2
∫  
Σf (x2i−2) + Σ
b
h  i=2 4 i=1
a f (x)dx ≈ 3 f (x0 ) + f (x2i−1 ) + f (xn ) (6.15)
2

You might also like