Anda di halaman 1dari 22

4

Diferenciación e integración numéricas

En este capı́tulo proponemos métodos para la aproximación numérica de


derivadas e integrales de funciones. Con respecto a la integración, se sabe
que para una función genérica no siempre es posible hallar una primitiva
en forma explı́cita. Incluso si fuese conocida, podrı́a ser difı́cil de utilizar.
Éste es el caso, por ejemplo, de la función f (x) = cos(4x) cos(3sen(x)),
para el cual tenemos
π  4 

3 (−9/4)k
f (x)dx = π ;
2 k!(k + 4)!
0 k=0

la tarea de calcular una integral se transforma en la, igualmente incómoda,


de sumar una serie. En otras circunstancias, la función que queremos in-
tegrar o derivar sólo se conocerı́a en un conjunto de nudos (por ejemplo,
cuando representa los resultados de una medida experimental), exacta-
mente como sucede en el caso de la aproximación de funciones, que fue
discutido en el Capı́tulo 3.
En todas estas situaciones es necesario considerar métodos numéricos
para obtener un valor aproximado de la cantidad de interés, independien-
temente de lo difı́cil que sea la función a integrar o derivar.

Problema 4.1 (Hidráulica) La altura q(t) alcanzada en tiempo t por


un fluido, en un cilindro recto de radio R = 1 m con un agujero circular de
radio r = 0.1 m en el fondo, ha sido medida cada 5 segundos obteniéndose
los siguientes valores

t 0 5 10 15 20
q(t) 0.6350 0.5336 0.4410 0.3572 0.2822

Queremos calcular una aproximación de la velocidad de vaciado del cilin-


dro q  (t) y despuéscompararla con la predicha por la ley de Torricelli:
q  (t) = −γ(r/R)2 2gq(t), donde g es la aceleración de la gravedad y
106 4 Diferenciación e integración numéricas

γ = 0.6 es un factor de corrección. Para la solución de este problema,


véase el Ejemplo 4.1. �

Problema 4.2 (Óptica) Para planificar una sala de rayos infrarrojos


estamos interesados en calcular la energı́a emitida por un cuerpo negro
(esto es, un objeto capaz de radiar en todo el espectro a temperatura
ambiente) en el espectro (infrarrojo) comprendido entre las longitudes de
onda 3µm y 14µm. La solución de este problema se obtiene calculando
la integral
−4

14·10
dx
E(T ) = 2.39 · 10 −11
, (4.1)
x5 (e1.432/(T x) − 1)
3·10−4

que es la ecuación de Planck para la energı́a E(T ), donde x es la longitud


de onda (en cm) y T la temperatura (en Kelvin) del cuerpo negro. Para
su cálculo véase el Ejercicio 4.17. �

Problema 4.3 (Electromagnetismo) Considérese una esfera conduc-


tora de la electricidad de radio arbitrario r y conductividad σ. Queremos
calcular la distribución de la densidad de corriente j como función de
r y t (el tiempo), conociendo la distribución inicial de la densidad de
carga ρ(r). El problema puede resolverse usando las relaciones entre la
densidad de corriente, el campo eléctrico y la densidad de carga y ob-
servando que, por la simetrı́a del problema, j(r, t) = j(r, t)r/|r|, donde
j = |j|. Obtenemos
r
σ
j(r, t) = γ(r)e
−σt/ε0
, γ(r) = ρ(ξ)ξ 2 dξ, (4.2)
ε0 r 2
0

donde ε0 = 8.859 · 10−12 faradio/m es la constante dieléctrica del vacı́o.


Para el cálculo de esta integral, véase el Ejercicio 4.16. �

Problema 4.4 (Demografı́a) Consideramos una población de un nú-


mero M muy grande de individuos. La distribución N (h) de sus alturas
puede representarse por una función “campana” caracterizada por el
valor medio h̄ de la altura y la desviación estándar σ
M 2 2
N (h) = √ e−(h−h̄) /(2σ ) .
σ 2π
Entonces
4.1 Aproximación de derivadas de funciones 107

800

700

600

N (h)
500

400

300

200

100

0
1 1.5 1.8 1.9 2 2.5

h
Figura 4.1. Distribución de las alturas de una población de M = 200 indi-
viduos


h+∆h

N= N (h) dh (4.3)
h

representa el número de individuos cuya altura está entre h y h + ∆h


(para un ∆h positivo). Un ejemplo lo proporciona la Figura 4.1 que
corresponde al caso M = 200, h̄ = 1.7 m, σ = 0.1 m, y el área de la
región sombreada da el número de individuos cuya altura está en el rango
1.8−1.9 m. Para la solución de este problema véase el Ejemplo 4.2. �

4.1 Aproximación de derivadas de funciones


Considérese una función f : [a, b] → R continuamente diferenciable en
[a, b]. Buscamos una aproximación de la primera derivada de f en un
punto genérico x̄ de (a, b).
En virtud de la definición (1.10), para h suficientemente pequeño y
positivo, podemos suponer que la cantidad

f (x̄ + h) − f (x̄)
(δ+ f )(x̄) = (4.4)
h

es una aproximación de f  (x̄) que se llama diferencia finita progresiva.


Para estimar el error, basta desarrollar f en serie de Taylor; si f ∈
C 2 (a, b), tenemos

h2 
f (x̄ + h) = f (x̄) + hf  (x̄) + f (ξ), (4.5)
2
donde ξ es un punto apropiado en el intervalo (x̄, x̄+h). Por consiguiente
108 4 Diferenciación e integración numéricas

h 
(δ+ f )(x̄) = f  (x̄) + f (ξ), (4.6)
2
y de este modo (δ+ f )(x̄) proporciona una aproximación de primer orden
a f  (x̄) con respecto a h. Asumiendo todavı́a que f ∈ C 2 (a, b), mediante
un procedimiento similar podemos deducir de la serie de Taylor

h2 
f (x̄ − h) = f (x̄) − hf  (x̄) + f (η) (4.7)
2
con η ∈ (x̄ − h, x̄), la diferencia finita regresiva

f (x̄) − f (x̄ − h)
(δ− f )(x̄) = (4.8)
h

que es también una aproximación de primer orden. Nótese que las


fórmulas (4.4) y (4.8) también se pueden obtener derivando el polinomio
de interpolación lineal de f en los puntos {x̄, x̄ + h} y {x̄ − h, x̄}, respec-
tivamente. De hecho, desde el punto de vista geométrico, estos esquemas
equivalen a aproximar f  (x̄) por la pendiente de la lı́nea recta que pasa
por los dos puntos (x̄, f (x̄)) y (x̄ + h, f (x̄ + h)), o (x̄ − h, f (x̄ − h)) y
(x̄, f (x̄)), respectivamente (véase la Figura 4.2).

m2
m1

f
m3

x̄ − h x̄ x̄ + h
Figura 4.2. Aproximación por diferencias finitas de f  (x̄): regresiva (lı́nea
continua), progresiva (lı́nea de puntos) y centrada (lı́nea de trazos). m1 =
(δ− f )(x̄), m2 = (δ+ f )(x̄) y m3 = (δf )(x̄) denotan las pendientes de las tres
lı́neas rectas

Finalmente, introducimos la fórmula de la diferencia finita centrada

f (x̄ + h) − f (x̄ − h)
(δf )(x̄) = (4.9)
2h

Si f ∈ C 3 (a, b), esta fórmula proporciona una aproximación de segundo


orden de f  (x̄) con respecto a h. En efecto, desarrollando f (x̄ + h) y
4.2 Integración numérica 109

f (x̄ − h) al tercer orden en torno a x̄ y sumando las dos expresiones,


obtenemos
h2 
f  (x̄) − (δf )(x̄) = [f (ξ) + f  (η)], (4.10)
12
donde η y ξ son puntos apropiados en los intervalos (x̄−h, x̄) y (x̄, x̄+h),
respectivamente (véase el Ejercicio 4.2).
Mediante (4.9) f  (x̄) se aproxima por la pendiente de la lı́nea recta
que pasa por los puntos (x̄ − h, f (x̄ − h)) y (x̄ + h, f (x̄ + h)).

Ejemplo 4.1 (Hidráulica) Resolvamos el Problema 4.1 utilizando las fór-


mulas (4.4), (4.8) y (4.9), con h = 5, para aproximar q  (t) en cinco puntos
diferentes. Obtenemos:

t 0 5 10 15 20
q  (t) −0.0212 −0.0194 −0.0176 −0.0159 −0.0141
δ+ q −0.0203 −0.0185 −0.0168 −0.0150 −−
δ− q −− −0.0203 −0.0185 −0.0168 −0.0150
δq −− −0.0194 −0.0176 −0.0159 −−
La concordancia entre la derivada exacta y la calculada con las fórmulas de
diferencias finitas es más satisfactoria cuando se utiliza la fórmula (4.9) en
lugar de (4.8) o (4.4). �

En general, podemos suponer que los valores de f están disponibles


en n + 1 puntos equiespaciados xi = x0 + ih, i = 0, . . . , n, con h > 0. En
este caso, en la derivación numérica, f  (xi ) puede aproximarse tomando
una de las fórmulas anteriores (4.4), (4.8) o (4.9) con x̄ = xi .
Nótese que la fórmula centrada (4.9) no puede ser utilizada en los
extremos x0 y xn . Para estos nudos podrı́amos usar los valores
1
[−3f (x0 ) + 4f (x1 ) − f (x2 )] en x0 ,
2h
(4.11)
1
[3f (xn ) − 4f (xn−1 ) + f (xn−2 )] en xn ,
2h
que también son aproximaciones de segundo orden con respecto a h.
Se obtienen calculando en el punto x0 (respectivamente, xn ) la primera
derivada del polinomio de grado 2 que interpola a f en los nudos x0 , x1 , x2
(respectivamente, xn−2 , xn−1 , xn ).

Véanse los Ejercicios 4.1-4.4.

4.2 Integración numérica


En esta sección introducimos métodos numéricos apropiados para apro-
ximar la integral
110 4 Diferenciación e integración numéricas

b
I(f ) = f (x)dx,
a

donde f es una función arbitraria continua en [a, b]. Empezamos intro-


duciendo algunas fórmulas simples que son, de hecho, casos especiales
de la familia de fórmulas de Newton-Cotes. Después introduciremos las
llamadas fórmulas de Gauss, que poseen el mayor grado de exactitud
posible para un número dado de evaluaciones de la función f .

4.2.1 Fórmula del punto medio

Un procedimiento sencillo para aproximar I(f ) se puede establecer divi-


diendo el intervalo [a, b] en subintervalos Ik = [xk−1 , xk ], k = 1, . . . , M ,
con xk = a + kH, k = 0, . . . , M y H = (b − a)/M . Como
M 

I(f ) = f (x)dx, (4.12)
k=1I
k

sobre cada subintervalo Ik podemos aproximar la integral exacta de f


por la de un polinomio f¯ que aproxima f sobre Ik . La solución más
simple consiste en elegir f¯ como el polinomio constante que interpola a
f en el punto medio de Ik :
xk−1 + xk
x̄k = .
2
De esta forma obtenemos la fórmula de cuadratura del punto medio com-
puesta
M

c
Imp (f ) = H f (x̄k ) (4.13)
k=1

El sı́mbolo mp significa el punto medio, mientras que c quiere decir com-


puesta. Esta fórmula es una aproximación de segundo orden con respecto
a H. Concretamente, si f es dos veces continuamente diferenciable en
[a, b], tenemos
b − a 2 
I(f ) − Imp
c
(f ) = H f (ξ), (4.14)
24
donde ξ es un punto apropiado en [a, b] (véase el Ejercicio 4.6). La
fórmula (4.13) también se llama fórmula de cuadratura del rectángulo
compuesta a causa de su interpretación geométrica, que es evidente a
partir de la Figura 4.3. La fórmula del punto medio clásica (o fórmula
del rectángulo) se obtiene tomando M = 1 en (4.13), es decir, utilizando
la regla del punto medio directamente sobre el intervalo (a, b):
4.2 Integración numérica 111
f f

x x
x̄0 x̄k x̄M a (a + b)/2 b
Figura 4.3. Fórmula del punto medio compuesta (izquierda); fórmula del
punto medio (derecha)

Imp (f ) = (b − a)f [(a + b)/2] (4.15)

Ahora el error viene dado por


(b − a)3 
I(f ) − Imp (f ) = f (ξ), (4.16)
24
donde ξ es un punto apropiado del intervalo [a, b]. La relación (4.16) se
deduce como un caso especial de (4.14), pero también se puede probar
directamente. En efecto, poniendo x̄ = (a + b)/2, tenemos
b
I(f ) − Imp (f ) = [f (x) − f (x̄)]dx
a
b b
1
= f (x̄)(x − x̄)dx +

f  (η(x))(x − x̄)2 dx,
2
a a

donde η(x) es un punto apropiado del intervalo cuyos puntos extremos


b
son x y x̄. Entonces se deduce (4.16) porque a (x − x̄)dx = 0 y, por el
teorema del valor medio para las integrales, existe ξ ∈ [a, b] tal que
b b
1 1  (b − a)3 
f (η(x))(x − x̄) dx = f (ξ) (x − x̄)2 dx =
 2
f (ξ).
2 2 24
a a

El grado de exactitud de una fórmula de cuadratura es el máximo en-


tero r ≥ 0 para el cual la integral aproximada (producida por la fórmula
de cuadratura) de cualquier polinomio de grado r es igual a la integral
exacta. Podemos deducir de (4.14) y (4.16) que la fórmula del punto
medio tiene grado de exactitud 1, ya que integra exactamente todos los
polinomios de grado menor o igual que 1 (pero no todos los de grado 2).
La fórmula de cuadratura del punto medio compuesta se implementa
en el Programa 4.1. Los parámetros de entrada son los extremos del
intervalo de integración a y b, el número de subintervalos M y la function
en MATLAB f para definir la función f .
112 4 Diferenciación e integración numéricas

Programa 4.1. midpointc: fórmula de cuadratura del punto medio compuesta


function Imp = midpointc (a ,b ,M ,f , varargin )
% MIDPOINTC Integracion numerica del punto medio
% compuesta .
% IMP = MIDPOINTC (A ,B ,M , FUN ) calcula una aproximacion
% de la integral de la funcion FUN via el metodo
% del punto medio ( con M intervalos equiespaciados ).
% FUN acepta un vector real de entrada x
% y devuelve un vector real .
% FUN puede ser tambien un objeto inline .
% IMP = MIDPOINT (A ,B ,M , FUN , P1 , P2 ,...) llama a la funcion
% FUN pasando los parametros opcionales P1 , P2 ,... como
% FUN (X , P1 , P2 ,...).
H =( b - a )/ M ;
x = linspace ( a + H /2 ,b - H /2 , M );
fmp = feval (f ,x , varargin {:}).* ones (1 , M );
Imp = H * sum ( fmp );
return

Véanse los Ejercicios 4.5-4.8.

4.2.2 Fórmula del trapecio

Puede obtenerse otra fórmula reemplazando f en Ik por el polinomio


de interpolación lineal de f en los nudos xk−1 y xk (equivalentemente,
reemplazando f por Π1H f sobre todo el intervalo (a, b), véase la Sección
3.2). Esto da

M
H
Itc (f ) = [f (xk ) + f (xk−1 )]
2
k=1
M −1 (4.17)
H 
= [f (a) + f (b)] + H f (xk )
2
k=1

Esta fórmula se llama fórmula del trapecio compuesta y es una aproxi-


mación de segundo orden con respecto a H. En efecto, se puede obtener

f f

x x
x0 = a xk xM = b x0 = a x1 = b
Figura 4.4. Fórmula del trapecio compuesta (izquierda); fórmula del trapecio
(derecha)
4.2 Integración numérica 113

la expresión
b − a 2 
I(f ) − Itc (f ) = − H f (ξ) (4.18)
12
para el error de cuadratura, siendo ξ un punto apropiado de [a, b], con
tal de que f ∈ C 2 ([a, b]). Cuando se utiliza (4.17) con M = 1, se obtiene

b−a
It (f ) = [f (a) + f (b)] (4.19)
2

que es la llamada fórmula del trapecio a causa de su interpretación


geométrica. El error inducido viene dado por
(b − a)3 
I(f ) − It (f ) = − f (ξ), (4.20)
12
donde ξ es un punto apropiado de [a, b]. Podemos deducir que (4.19)
tiene grado de exactitud igual a 1, como en el caso de la regla del punto
medio.
La fórmula del trapecio compuesta (4.17) se implementa en los pro-
gramas de MATLAB trapz y cumtrapz. Si x es un vector cuyas com- trapz
ponentes son las abscisas xk , k = 0, . . . , M (con x0 = a y xM = b), cumtrapz
e y el de los valores f (xk ), k = 0, . . . , M , z=cumtrapz(x,y) devuelve
x
el vector z cuyas componentes son zk  a k f (x)dx, siendo esta inte-
gral aproximada por la regla del trapecio compuesta. Ası́ z(M+1) es una
aproximación de la integral de f en (a, b).

Véanse los Ejercicios 4.9-4.11.

4.2.3 Fórmula de Simpson

La fórmula de Simpson puede obtenerse reemplazando la integral de f


sobre cada Ik por la de su polinomio de interpolación de grado 2 en los
nudos xk−1 , x̄k = (xk−1 + xk )/2 y xk ,
2(x − x̄k )(x − xk )
Π2 f (x) = f (xk−1 )
H2
4(xk−1 − x)(x − xk ) 2(x − x̄k )(x − xk−1 )
+ 2
f (x̄k ) + f (xk ).
H H2
La fórmula resultante se llama fórmula de cuadratura de Simpson
compuesta y se escribe

M
H
Isc (f ) = [f (xk−1 ) + 4f (x̄k ) + f (xk )] (4.21)
6
k=1
114 4 Diferenciación e integración numéricas

Se puede probar que induce el error

b − a H 4 (4)
I(f ) − Isc (f ) = − f (ξ), (4.22)
180 16
donde ξ es un punto apropiado de [a, b], con tal de que f ∈ C 4 ([a, b]).
Por consiguiente es una aproximación de cuarto orden con respecto a H.
Cuando (4.21) se aplica a un único intervalo, digamos (a, b), obtenemos
la llamada fórmula de cuadratura de Simpson

b−a
Is (f ) = [f (a) + 4f ((a + b)/2) + f (b)] (4.23)
6

Ahora el error viene dado por

1 (b − a)5 (4)
I(f ) − Is (f ) = − f (ξ), (4.24)
16 180
para un ξ ∈ [a, b] apropiado. Su grado de exactitud es, por tanto, igual
a 3.
La regla de Simpson compuesta se implementa en el Programa 4.2.
Programa 4.2. simpsonc: fórmula de cuadratura de Simpson compuesta
function [ Isic ]= simpsonc (a ,b ,M ,f , varargin )
% SIMPSONC Integracion munerica de Simpson compuesta .
% ISIC = SIMPSONC (A ,B ,M , FUN ) calcula una aproximacion
% de la integral de la funcion FUN via el metodo de
% Simpson ( usando M intervalos equiespaciados ).
% FUN acepta el vector real de entrada x
% y devuelve un vector real .
% FUN puede ser tambien un objeto inline .
% ISIC = SIMPSONC (A ,B ,M , FUN , P1 , P2 ,...) llama a la
% funcion FUN pasando los parametros opcionales
% P1 , P2 ,... como FUN (X , P1 , P2 ,...).
H =( b - a )/ M ;
x = linspace (a ,b , M +1);
fpm = feval (f ,x , varargin {:}).* ones (1 , M +1);
fpm (2: end -1) = 2* fpm (2: end -1);
Isic = H * sum ( fpm )/6;
x = linspace ( a + H /2 ,b - H /2 , M );
fpm = feval (f ,x , varargin {:}).* ones (1 , M );
Isic = Isic +2* H * sum ( fpm )/3;
return

Ejemplo 4.2 (Demografı́a) Consideremos el Problema 4.4. Para calcular el


número de individuos cuya altura está entre 1.8 y 1.9 m, necesitamos resolver
la integral (4.3) para h = 1.8 y ∆h = 0.1. Para ello usamos la fórmula de
Simpson compuesta con 100 subintervalos
N = inline ([ ’M /( sigma * sqrt (2* pi ))* exp ( -(h - hbar ).^2 ’ ...
’ ./(2* sigma ^2)) ’] , ’h ’ , ’M ’ , ’ hbar ’ , ’ sigma ’)
4.3 Cuadraturas de tipo interpolatorio 115
0
10

−2
10

−4
10

−6
10

−8
10

−10
10

−12
10 −3 −2 −1 0
10 10 10 10

Figura 4.5. Representación logarı́tmica de los errores frente a H para las


fórmulas de cuadratura compuestas de Simpson (lı́nea continua con cı́rculos),
del punto medio (lı́nea continua) y del trapecio (lı́nea de trazos)

N =
Inline function:
N(h,M,hbar,sigma) = M/(sigma * sqrt(2*pi)) * exp(-(h -
hbar).^2./(2*sigma^2))

M = 200; hbar = 1.7; sigma = 0.1;


int = simpsonc (1.8 , 1.9 , 100 , N , M , hbar , sigma )

int =
27.1810

Por consiguiente, estimamos que el número de individuos en este rango de


alturas es 27.1810, correspondiente al 15.39 % de todos los individuos. �

Ejemplo
 2π −x 4.3 Queremos comparar las aproximaciones de la integral I(f ) =
2π 2π
0
xe cos(2x)dx = −1/25(10π − 3 + 3e )/e −0.122122604618968
obtenidas usando las fórmulas compuestas del punto medio, del trapecio y
de Simpson. En la Figura 4.5 dibujamos a escala logarı́tmica los errores frente
a H. Como se señaló en la Sección 1.5, en este tipo de dibujo cuanto mayor es
la pendiente de la curva, mayor es el orden de convergencia de la correspon-
diente fórmula. Como se esperaba de los resultados teóricos, las fórmulas del
punto medio y del trapecio son aproximaciones de segundo orden, mientras
que la de Simpson es de cuarto orden. �

4.3 Cuadraturas de tipo interpolatorio


Todas las fórmulas de cuadratura (no compuestas) introducidas en las
secciones anteriores son ejemplos notables de una fórmula de cuadratura
más general de la forma:
116 4 Diferenciación e integración numéricas

n

Iappr (f ) = αj f (yj ) (4.25)
j=0

Los números reales {αj } son los pesos de cuadratura, mientras que
los puntos {yj } son los nudos de cuadratura. En general, uno requiere
que (4.25) integre exactamente
nal menos una función constante: esta
propiedad está asegurada si j=0 αj = b − a. Podemos conseguir un
grado de exactitud igual a (por lo menos) n tomando

b
Iappr (f ) = Πn f (x)dx,
a

donde Πn f ∈ Pn es el polinomio de interpolación de Lagrange de la


función f en los nudos yi , i = 0, . . . , n, dado por (3.4). Esto proporciona
la siguiente expresión para los pesos
b
αi = ϕi (x)dx, i = 0, . . . , n,
a

donde ϕi ∈ Pn es el i-ésimo polinomio caracterı́stico de Lagrange tal que


ϕi (yj ) = δij , para i, j = 0, . . . , n, que fue introducido en (3.3).

Ejemplo 4.4 Para la fórmula del trapecio (4.19) tenemos n = 1, y0 = a,


y1 = b y
b b
x−b b−a
α0 = ϕ0 (x)dx = dx = ,
a−b 2
a a
b b
x−a b−a
α1 = ϕ1 (x)dx = dx = .
b−a 2
a a

La cuestión que surge es si existen elecciones apropiadas de los nudos


tales que el grado de exactitud sea mayor que n, concretamente, igual
a r = n + m para algún m > 0. Podemos simplificar nuestra discusión
restringiéndonos a un intervalo de referencia, digamos (−1, 1). En efecto,
una vez que disponemos de un conjunto de nudos de cuadratura {ȳj }
y pesos {ᾱj } en [−1, 1], entonces gracias al cambio de variable (3.8)
podemos obtener inmediatamente los correspondientes nudos y pesos,
a+b b−a b−a
yj = + ȳj , αj = ᾱj
2 2 2
en un intervalo de integración arbitrario (a, b).
4.3 Cuadraturas de tipo interpolatorio 117

La respuesta a la cuestión anterior la proporciona el siguiente resul-


tado (véase, [QSS06, Capı́tulo 10]):

Proposición
n 4.1 Para un m > 0 dado, la fórmula de cuadratura
ᾱ
j=0 j f (ȳ j tiene grado de exactitud n + m si y sólo si es de tipo
)
interpolatorio y el polinomio nodal ωn+1 = Πi=0n
(x − ȳi ) asociado a
los nudos {ȳi } es tal que

1
ωn+1 (x)p(x)dx = 0, ∀p ∈ Pm−1 . (4.26)
−1

El valor máximo que m puede tomar es n + 1 y se alcanza con tal de


que ωn+1 sea proporcional al llamado polinomio de Legendre de grado
n + 1, Ln+1 (x). Los polinomios de Legendre pueden calcularse recursi-
vamente mediante la siguiente relación de tres términos

L0 (x) = 1, L1 (x) = x,
2k + 1 k
Lk+1 (x) = xLk (x) − Lk−1 (x), k = 1, 2, . . . .
k+1 k+1
Para cada n = 0, 1, . . . , todo polinomio en Pn puede obtenerse mediante
una combinación lineal de los polinomios L0 , L1 , . . . , Ln . Además, Ln+1
es ortogonal
1 a todos los polinomios de grado menor o igual que n, es
decir, −1 Ln+1 (x)Lj (x)dx = 0 para todo j = 0, . . . , n. Esto explica por
qué (4.26) es cierto para m igual pero no mayor que n + 1.
El máximo grado de exactitud es, por tanto, igual a 2n+1 y se obtiene
para la llamada fórmula de Gauss-Legendre (abreviadamente IGL ), cuyos
nudos y pesos están dados por

⎨ ȳj = ceros de Ln+1 (x),

2 (4.27)

⎩ ᾱj = , j = 0, . . . , n.
(1 − ȳj )[Ln+1 (ȳj )]2
2 

Los pesos ᾱj son todos positivos y los nudos son interiores al intervalo
(−1, 1). En la Tabla 4.1 recogemos los nudos y pesos de las fórmulas de
cuadratura de Gauss-Legendre con n = 1, 2, 3, 4. Si f ∈ C (2n+2) ([−1, 1]),
el correspondiente error es

22n+3 ((n + 1)!)4


I(f ) − IGL (f ) = f (2n+2) (ξ),
(2n + 3)((2n + 2)!)3

donde ξ es un punto adecuado en (−1, 1).


A menudo es útil incluir también los puntos extremos del intervalo
entre los nudos de cuadratura. Procediendo ası́, la fórmula de Gauss con
118 4 Diferenciación e integración numéricas

n {ȳj } {ᾱj }
 √ 1
1 ±1/ 3 1 {1}
 √ 1
2 ± 15/5, 0 1

{5/9, 8/9}
 √ 1
3 ±(1/35) 525 − 70 30, (1/36)(18 + 30), 1
 √ 1 √ 
±(1/35) 525 + 70 30 (1/36)(18 − 30)
  √ 11  √
4 0, ±(1/21) 245 − 14 70 128/225, (1/900)(322 + 13 70)
 √ 1 1 √ 
±(1/21) 245 + 14 70 (1/900)(322 − 13 70)
1
Tabla 4.1. Nudos y pesos para algunas fórmulas de cuadratura de Gauss-
Legendre sobre el intervalo (−1, 1). Los pesos correspondientes a pares
simétricos de nudos se incluyen sólo una vez

n {ȳj } {ᾱj }
1 {±1} {1}
2 {±1, 0}√ {1/3, 4/3}
3 {±1, ±√5/5} {1/6, 5/6}
4 {±1, ± 21/7, 0} {1/10, 49/90, 32/45}
Tabla 4.2. Nudos y pesos para algunas fórmulas de cuadratura de Gauss-
Legendre-Lobatto sobre el intervalo (−1, 1). Los pesos correspondientes a pares
simétricos de nudos se incluyen sólo una vez

grado de exactitud máximo (2n − 1) es la que emplea los llamados nudos


de Gauss-Legendre-Lobatto (abreviadamente, GLL): para n ≥ 1

y 0 = −1, y n = 1, y j = ceros de Ln (x), j = 1, . . . , n − 1, (4.28)

2 1
αj = , j = 0, . . . , n.
n(n + 1) [Ln (ȳj )]2

Si f ∈ C (2n) ([−1, 1]), el correspondiente error viene dado por

(n + 1)n3 22n+1 ((n − 1)!)4 (2n)


I(f ) − IGLL (f ) = − f (ξ),
(2n + 1)((2n)!)3
para un ξ ∈ (−1, 1) adecuado. En la Tabla 4.2 damos una tabla de nudos
y pesos sobre el intervalo de referencia (−1, 1) para n = 1, 2, 3, 4. (Para
n = 1 recuperamos la regla del trapecio).
quadl Usando la instrucción de MATLAB quadl(fun,a,b) es posible cal-
cular una integral con una fórmula de cuadratura de Gauss-Legendre-
Lobatto compuesta. La función fun puede ser un objeto inline. Por ejem-
plo, para integrar f (x) = 1/x sobre [1, 2], debemos primero definir la
función
fun=inline(’1./x’,’x’);
4.4 Fórmula de Simpson adaptativa 119

y después llamar a quadl(fun,1,2). Nótese que en la definición de la


función f hemos usado una operación elemento a elemento (de hecho
MATLAB evaluará esta expresión componente a componente sobre el
vector de nudos de cuadratura).
No se requiere la especificación del número de subintervalos ya que
se calcula automáticamente para asegurar que el error de cuadratura
esté por debajo de la tolerancia por defecto de 10−3 . El usuario puede
suministrar una tolerancia diferente mediante el comando extendido
quadl(fun,a,b,tol). En la Sección 4.4 introduciremos un método para
estimar el error de cuadratura y, consiguientemente, para cambiar H
adaptativamente.

Resumamos

1. Una fórmula de cuadratura es una fórmula para aproximar la integral


de funciones continuas en un intervalo [a, b];
2. generalmente se expresa como una combinación lineal de los valores
de la función en puntos especı́ficos (llamados nudos) con coeficientes
que se llaman pesos;
3. el grado de exactitud de una fórmula de cuadratura es el mayor grado
de los polinomios que son integrados exactamente por la fórmula. Es
1 para las reglas del punto medio y del trapecio, 3 para la regla de
Simpson, 2n + 1 para la fórmula de Gauss-Legendre usando n + 1
nudos de cuadratura, y 2n − 1 para la fórmula de Gauss-Legendre-
Lobatto usando n + 1 nudos;
4. el orden de precisión de una fórmula de cuadratura compuesta es
su orden respecto al tamaño H de los subintervalos. El orden de
precisión es 2 para las fórmulas compuestas del punto medio y del
trapecio, 4 para la fórmula de Simpson compuesta.

Véanse los Ejercicios 4.12-4.18.

4.4 Fórmula de Simpson adaptativa


La longitud del paso de integración H de una fórmula de cuadratura
compuesta puede elegirse para asegurar que el error de cuadratura sea
menor que una tolerancia prescrita ε > 0. Por ejemplo, cuando se usa
la fórmula de Simpson compuesta, gracias a (4.22) este objetivo puede
alcanzarse si
b − a H4
max |f (4) (x)| < ε, (4.29)
180 16 x∈[a,b]
120 4 Diferenciación e integración numéricas

donde f (4) denota la derivada de cuarto orden de f . Desafortunada-


mente, cuando el valor absoluto de f (4) es grande sólo en una pequeña
parte del intervalo de integración, el H máximo para el cual se veri-
fica (4.29) puede ser demasiado pequeño. El objetivo de la fórmula de
cuadratura de Simpson adaptativa es dar una aproximación de I(f ) den-
tro de una tolerancia fija ε mediante una distribución no uniforme de los
tamaños de los pasos de integración en el intervalo [a, b]. De esta forma
mantenemos la misma precisión de la regla de Simpson compuesta, pero
con un número inferior de nudos de cuadratura y, consiguientemente, un
número reducido de evaluaciones de f .
Para tal fin debemos encontrar un estimador del error y un procedi-
miento automático para modificar la longitud del paso de integración H,
con objeto de alcanzar la tolerancia prescrita. Empezamos analizando
este procedimiento que es independiente de la fórmula de cuadratura
especı́fica que uno quiere aplicar.
En el primer paso del procedimiento adaptativo, calculamos una
b
aproximación Is (f ) de I(f ) = a f (x)dx. Ponemos H = b − a y tratamos
de estimar el error de cuadratura. Si el error es menor que la toleran-
cia prescrita, se detiene el procedimiento adaptativo; caso contrario el
 a+H
tamaño del paso H se divide a la mitad hasta que la integral a f (x)dx
se calcule con la precisión prescrita. Cuando se supera el test, consid-
eramos el intervalo (a + H, b) y repetimos el procedimiento anterior,
eligiendo como primer tamaño del paso la longitud b − (a + H) de ese
intervalo.
Utilizamos las siguientes notaciones:
1. A: el intervalo activo de integración, es decir el intervalo donde la
integral está siendo calculada;
2. S: el intervalo de integración ya examinado, para el cual el error es
menor que la tolerancia prescrita;
3. N : el intervalo de integración pendiente de examinar.
Al comienzo del proceso de integración tenemos N = [a, b], A = N
y S = ∅, mientras que la situación en la etapa genérica del algoritmo
 αdescribe en la Figura 4.6. Indiquemos por JS (f ) la aproximación de
se
a
f (x)dx calculada, con JS (f ) = 0 al comienzo del proceso; si el al-
goritmo termina con éxito, JS (f ) da la aproximación deseada de I(f ).
También denotamos por J(α,β) (f ) la integral aproximada de f sobre el
intervalo activo [α, β]. Este intervalo se dibuja en gris en la Figura 4.6. La
etapa genérica del método de integración adaptativo se organiza como
sigue:
1. si la estimación del error asegura que se satisface la tolerancia pres-
crita, entonces:
(i) JS (f ) se incrementa en J(α,β) (f ), esto es JS (f ) ← JS (f ) +
J(α,β) (f );
4.4 Fórmula de Simpson adaptativa 121

(ii) hacemos S ← S ∪ A, A = N (correspondiente al camino (I ) en


la Figura 4.6) y α ← β y β ← b;
2. si la estimación del error no es menor que la tolerancia prescrita,
entonces:
(j) A se divide por dos, y el nuevo intervalo activo es A = [α, α ]
con α = (α + β)/2 (correspondiente al camino (II ) en la Figura
4.6);
(jj) se pone N ← N ∪ [α , β], β ← α ;
(jjj) se proporciona una nueva acotación del error.

a S α β b
A N
�������������������������
(I)
a α b
S A
(II)

a S α α N
b
A
�������������������������������
Figura 4.6. Distribución del intervalo de integración en una etapa genérica
del algoritmo adaptativo y puesta al dı́a de la malla de integración

Por supuesto, para impedir que el algoritmo genere tamaños de paso


demasiado pequeños, es conveniente controlar la anchura de A y alertar
al usuario en caso de una reducción excesiva de la longitud del paso,
sobre la presencia de una posible singularidad en la función integrando.
El problema ahora es encontrar un estimador adecuado del error.
Para este fin es conveniente restringir nuestra atención a un subintervalo
genérico [α, β] en el que calculamos Is (f ): por supuesto, si sobre este
intervalo el error es menor que ε(β − α)/(b − a), entonces el error en el
intervalo [a, b] será menor que la tolerancia prescrita ε. Puesto que de
(4.24) deducimos


(β − α)5 (4)
Es (f ; α, β) = f (x)dx − Is (f ) = − f (ξ),
2880
α

para asegurar que respetamos la tolerancia será suficiente verificar que


Es (f ; α, β) < ε(β − α)/(b − a). En el cálculo práctico, este procedimiento
no es factible ya que el punto ξ ∈ [α, β] es desconocido.
122 4 Diferenciación e integración numéricas

Para estimar el error Es (f ; α, β) sin usar explı́citamente f (4) (ξ),


empleamos de nuevo la fórmula de Simpson compuesta para calcular

α
f (x)dx, pero con una longitud de paso (β −α)/2. De (4.22) con a = α
y b = β, deducimos que


(β − α)5 (4)
f (x)dx − Isc (f ) = − f (η), (4.30)
46080
α

donde η es un punto adecuado diferente de ξ. Restando las dos últimas


ecuaciones obtenemos
(β − α)5 (4) (β − α)5 (4)
∆I = Isc (f ) − Is (f ) = − f (ξ) + f (η). (4.31)
2880 46080
Hagamos ahora la hipótesis de que f (4) (x) es aproximadamente una
constante en el intervalo [α, β]. En este caso f (4) (ξ)  f (4) (η). Podemos
calcular f (4) (η) a partir de (4.31); sustituyendo este valor en la ecuación
(4.30) obtenemos la siguiente estimación del error:


1
f (x)dx − Isc (f )  ∆I.
15
α

La longitud de paso (β − α)/2 (esto es la longitud del paso empleado


para calcular Isc (f )) será aceptada si |∆I|/15 < ε(β − α)/[2(b − a)]. La
fórmula de cuadratura que utiliza este criterio en el procedimiento adap-
tativo descrito anteriormente, se llama fórmula de Simpson adaptativa.
Está implementada en el Programa 4.3. Entre los parámetros de entrada,
f es la cadena de caracteres en la que se define la función f , a y b son los
extremos del intervalo de integración, tol es la tolerancia prescrita sobre
el error y hmin es el mı́nimo valor admisible para la longitud del paso de
integración (con vistas a asegurar que el procedimiento de adaptación
siempre termina).
Programa 4.3. simpadpt: fórmula de Simpson adaptativa
function [ JSf , nodes ]= simpadpt (f ,a ,b , tol , hmin , varargin )
% SIMPADPT Evaluar numericamente una integral .
% Cuadratura de Simpson adaptativa .
% JSF = SIMPADPT ( FUN ,A ,B , TOL , HMIN ) trata de aproximar
% la integral de la funcion FUN de A a B con un
% error de TOL usando cuadratura de Simpson adaptativa
% recursiva . La funcion inline Y = FUN ( V )
% acepta un argumento vectorial V
% y devuelve un vector resultado Y ,
% el integrando evaluado en cada elemento de X .
% JSF = SIMPADPT ( FUN ,A ,B , TOL , HMIN , P1 , P2 ,...) llama a
% la funcion FUN pasando los parametros opcionales
% P1 , P2 ,... as FUN (X , P1 , P2 ,...).
% [ JSF , NODES ] = SIMPADPT (...) devuelve la distribucion
4.5 Lo que no le hemos dicho 123

% de nudos usados en el proceso de cuadratura .


A =[ a , b ]; N =[]; S =[]; JSf = 0; ba = b - a ; nodes =[];
while ~ isempty ( A ) ,
[ deltaI , ISc ]= caldeltai (A ,f , varargin {:});
if abs ( deltaI ) <= 15* tol *( A (2) - A (1))/ ba ;
JSf = JSf + ISc ; S = union (S , A );
nodes = [ nodes , A (1) ( A (1)+ A (2))*0.5 A (2)];
S = [ S (1) , S ( end )]; A = N ; N = [];
elseif A (2) - A (1) < hmin
JSf = JSf + ISc ; S = union (S , A );
S = [ S (1) , S ( end )]; A = N ; N =[];
warning ( ’ Paso de integracion demasiado pequeno ’ );
else
Am = ( A (1)+ A (2))*0.5;
A = [ A (1) Am ];
N = [ Am , b ];
end
end
nodes = unique ( nodes );
return
function [ deltaI , ISc ]= caldeltai (A ,f , varargin )
L = A (2) - A (1);
t =[0; 0.25; 0.5; 0.5; 0.75; 1];
x = L * t + A (1);
L = L /6;
w =[1; 4; 1];
fx = feval (f ,x , varargin {:}).* ones (6 ,1);
IS = L * sum ( fx ([1 3 6]).* w );
ISc =0.5* L * sum ( fx .*[ w ; w ]);
deltaI = IS - ISc ;
return

1 2
Ejemplo 4.5 Calculemos la integral I(f ) = −1 e−10(x−1) dx empleando la
fórmula de Simpson adaptativa. Utilizando el Programa 4.3 con
>> fun=inline(’exp(-10*(x-1).^2)’); tol = 1.e-04; hmin = 1.e-03;
hallamos el valor aproximado 0.28024765884708, en lugar del valor exacto
0.28024956081990. El error es menor que la tolerancia prescrita tol=10−5 .
Para obtener este resultado fue suficiente considerar únicamente 10 subin-
tervalos no uniformes. Nótese que la fórmula compuesta correspondiente, con
tamaño de paso uniforme, habrı́a requerido 22 subintervalos para asegurar la
misma precisión. �

4.5 Lo que no le hemos dicho

Las fórmulas del punto medio, del trapecio y de Simpson son casos
particulares de una familia mayor de reglas de cuadratura conocidas
como fórmulas de Newton-Cotes. Para una introducción, véase [QSS06,
Capı́tulo 10]. Análogamente, las fórmulas de Gauss-Legendre y de Gauss-
Legendre-Lobatto que hemos introducido en la Sección 4.3 son casos
124 4 Diferenciación e integración numéricas

especiales de una familia más general de fórmulas de cuadratura Gaus-


siana. Éstas son óptimas en el sentido de que maximizan el grado de
exactitud para un número de nudos de cuadratura prescrito. Para una
introducción a las fórmulas Gaussianas, véase [QSS06, Capı́tulo 10] o
[RR85]. Desarrollos adicionales sobre integración numérica pueden en-
contrarse, por ejemplo, en [DR75] y [PdDKÜK83].
La integración numérica también se puede utilizar para calcular
integrales
∞ sobre intervalos no acotados. Por ejemplo, para aproximar
f (x)dx, una primera posibilidad es hallar un punto α tal que el
0 ∞ α
valor de α f (x)dx se pueda despreciar con respecto al de 0 f (x)dx.
Entonces calculamos mediante una fórmula de cuadratura esta última
integral sobre un intervalo acotado. Una segunda posibilidad es recurrir
a fórmulas de cuadratura Gaussiana para intervalos no acotados (véase
[QSS06, Capı́tulo 10]).
Finalmente, la integración numérica también se puede usar para cal-
cular integrales multidimensionales. En particular, mencionamos la ins-
dblquad trucción de MATLAB dblquad(’f’,xmin,xmax,ymin,ymax) mediante
la cual es posible calcular la integral de una función contenida en el
archivo de MATLAB f.m sobre el dominio rectangular [xmin,xmax]
× [ymin,ymax]. Nótese que la función f debe tener al menos dos
parámetros de entrada correspondientes a las variables x e y con res-
pecto a las cuales se calcula la integral.

Octave 4.1 En Octave, dblquad no está disponible; sin embargo hay


otras funciones de Octave que presentan las mismas funcionalidades:
quad2dg 1. quad2dg para integración 2-dimensional, que utiliza un esquema de
integración con cuadratura Gaussiana;
quad2dc 2. quad2dc para integración 2-dimensional, que utiliza un esquema de
integración con cuadratura de Gauss-Chebyshev. �

4.6 Ejercicios
Ejercicio 4.1 Verificar que, si f ∈ C 3 en un entorno I0 de x0 (respectivamente,
In de xn ) el error de la fórmula (4.11) es igual a − 13 f  (ξ0 )h2 (respectivamente,
− 13 f  (ξn )h2 ), donde ξ0 y ξn son dos puntos adecuados que pertenecen a I0 e
In , respectivamente.

Ejercicio 4.2 Verificar que si f ∈ C 3 en un entorno de x̄ el error de la fórmula


(4.9) es igual a (4.10).
4.6 Ejercicios 125

Ejercicio 4.3 Calcular el orden de precisión con respecto a h de las siguientes


fórmulas para la aproximación numérica de f  (xi ):

−11f (xi ) + 18f (xi+1 ) − 9f (xi+2 ) + 2f (xi+3 )


a. ,
6h
f (xi−2 ) − 6f (xi−1 ) + 3f (xi ) + 2f (xi+1 )
b. ,
6h
−f (xi−2 ) − 12f (xi ) + 16f (xi+1 ) − 3f (xi+2 )
c. .
12h

Ejercicio 4.4 Los siguientes valores representan la evolución temporal del


número n(t) de individuos de una población dada cuya tasa de nacimientos es
constante (b = 2) y cuya tasa de mortalidad es d(t) = 0.01n(t):

t (meses) 0 0.5 1 1.5 2 2.5 3


.
n 100 147 178 192 197 199 200

Utilizar estos datos para aproximar con tanta precisión como sea posible la tasa
de variación de esta población. Después comparar los resultados obtenidos con
la tasa exacta n (t) = 2n(t) − 0.01n2 (t).

Ejercicio 4.5 Hallar el número mı́nimo M de subintervalos, necesario para


aproximar con un error absoluto menor que 10 −4 las integrales de las siguientes
funciones:
1
f1 (x) = en [0, 5],
1 + (x − π)2
f2 (x) = ex cos(x) en [0, π],

f3 (x) = x(1 − x) en [0, 1],

mediante la fórmula del punto medio compuesta. Verificar los resultados


obtenidos utilizando el Programa 4.1.

Ejercicio 4.6 Probar (4.14) partiendo de (4.16).

Ejercicio 4.7 ¿Por qué la fórmula del punto medio pierde un orden de con-
vergencia cuando se utiliza en modo compuesto?

Ejercicio 4.8 Verificar que si f es un polinomio de grado menor o igual que


1, entonces Imp (f ) = I(f ), es decir, la fórmula del punto medio tiene grado de
exactitud igual a 1.

Ejercicio 4.9 Para la función f1 del Ejercicio 4.5, calcular (numéricamente)


los valores de M que aseguran que el error de cuadratura es menor que 10 −4 ,
cuando la integral se aproxima por las fórmulas de cuadratura del trapecio y
de Gauss compuestas.
126 4 Diferenciación e integración numéricas
b
Ejercicio 4.10 Sean I1 y I2 dos valores aproximados de I(f ) = a f (x)dx,
obtenidos mediante la fórmula del trapecio compuesta aplicada con dos lon-
gitudes de paso diferentes, H1 y H2 . Verificar que si f (2) tiene una variación
suave en (a, b), el valor
IR = I1 + (I1 − I2 )/(H22 /H12 − 1) (4.32)
es mejor aproximación de I(f ) que I1 y I2 . Esta estrategia se llama método de
extrapolación de Richardson. Deducir (4.32) de (4.18).

Ejercicio 4.11 Verificar que, entre todas las fórmulas de la forma Iappx (f ) =
αf (x̄) + βf (z̄) donde x̄, z̄ ∈ [a, b] son dos nudos desconocidos y α y β dos pesos
indeterminados, la fórmula de Gauss con n = 1 de la Tabla 4.1 presenta el
grado máximo de exactitud.

Ejercicio 4.12 Para las dos primeras funciones del Ejercicio 4.5, calcular el
número mı́nimo de intervalos tales que el error de cuadratura de la fórmula de
Gauss compuesta es menor que 10−4 .
2 2
Ejercicio 4.13 Calcular 0 e−x /2 dx usando la fórmula de Simpson (4.23) y
la fórmula de Gauss-Legendre de la Tabla 4.1 para n = 1; comparar después
los resultados obtenidos.
1
Ejercicio 4.14 Para calcular las integrales Ik = 0 xk ex−1 dx para k =
1, 2, . . ., uno puede usar la siguiente fórmula recursiva: Ik = 1 − kIk−1 , con
I1 = 1/e. Calcular I20 usando la fórmula de Simpson compuesta con vistas
a asegurar que el error de cuadratura es menor que 10 −3 . Comparar la apro-
ximación de Simpson con el resultado obtenido usando la fórmula recursiva
anterior.

Ejercicio 4.15 Aplicar la fórmula de extrapolación de Richardson (4.32) para


2 2
aproximar la integral I(f ) = 0 e−x /2 dx, con H1 = 1 y H2 = 0.5 usando
primero la fórmula de Simpson (4.23), después la de Gauss-Legendre para
n = 1 de la Tabla 4.1. Verificar que en ambos casos IR es más precisa que I1
y I2 .

Ejercicio 4.16 (Electromagnetismo) Calcular, utilizando la fórmula de


Simpson compuesta, la función j(r) definida en (4.2) para r = k/10 m con
k = 1, . . . , 10, siendo ρ(ξ) = eξ y σ = 0.36 W/(mK). Asegurar que el error
de cuadratura es menor que 10−10 . (Recuérdese que: m=metros, W=vatios,
K=grados Kelvin).

Ejercicio 4.17 (Óptica) Usando las fórmulas compuestas de Simpson y de


Gauss-Legendre con n = 1, calcular la función E(T ), definida en (4.1), para T
igual a 213 K, con al menos 10 cifras significativas exactas.

Ejercicio 4.18 Desarrollar una estrategia


1 para calcular, mediante la fórmula
de Simpson compuesta, I(f ) = 0 |x2 − 0.25|dx de manera que el error de
cuadratura sea menor que 10−2 .

Anda mungkin juga menyukai