Está en la página 1de 25

Captulo IV

Integraci
on Num
erica
IV.1.

Cuadraturas: Reglas Simples

La formulas de cuadratura o reglas simples se obtienen por medio de interpolacion polinomial: la funcion a integrar se muestrea, es decir, se toman puntos
de la funcion
(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )
donde yk = f (xk ) para k = 0, . . . , n, se determina el polinomio interpolante pn (x)
de grado a lo mas n para esos puntos, y finalmente se integra. Intuitivamente,
si
Rb
pn (x) es una buena aproximacion de f (x), entonces su integral a pn (x)dx debe
Rb
ser una buena aproximacion de a f (x)dx.
Regla del Trapecio
Para comenzar, solo dos puntos (a, f (a)) y (b, f (b)) e interpolacion lineal resulta en
Z b
ba
(f (a) + f (b))
f (x)dx
2
a
Esta es la regla del trapecio: aproxima la integral por medio del area bajo el
trapecio determinado por la interpolacion lineal.
Caso General
Para el caso general, es conveniente usar el metodo de interpolacion de Lagrange. Para los puntos (x0 , y0 ), . . . , (xn , yn ), con yk = f (xk ) el polinomio de
interpolacion esta dado por
pn (x) =

n
X

yk Ln,k (x)

k=0

donde

Q
j6=k (x xj )
Ln,k (x) = Q
j6=k (xk xj )
IV.1

NUMERICA

CAPITULO IV. INTEGRACION

IV.2

De esta representacion, integrando, obtenemos


Z b
Z b
f (x)dx
pn (x)dx
a

a
n
X

Z
=

!
yk Ln,k (x) dx

=
=

k=1

Z
n
b
X
k=0
n
X


Ln,k (x)dx yk

wk yk

k=0

donde

Ln,k (x)dx.

wk =
a

Note que estos pesos wk dependen solo de los nodos, no de la funcion. La suma
Q[f ] =

n
X

w k fk

k=0

se llama una formula de cuadratura.

Regla de Simpson
Consideremos el caso de interpolacion cuadratica. Se tienen tres nodos x0 = a,
x1 = (a + b)/2 y x2 = b. Por conveniencia, sea h = (b a)/2, de tal forma que
xk = a + kh, k = 0, 1, 2.
Entonces los tres pesos w0 , w1 , w2 estan dados por
Z

x2

w0 =
x0

x2

w1 =
x0

x2

w2 =
x0

(x x1 )(x x2 )
dx =
(x0 x1 )(x0 x2 )

(x x0 )(x x2 )
dx =
(x1 x0 )(x1 x2 )

(x x0 )(x x1 )
dx =
(x2 x0 )(x2 x1 )

2h

2h

2h

(x h)(x 2h)
dx
(h)(2h)

2h
1
1 x3 x2
3h + 2h2 x
= h
= 2
2h
3
2
3
0
 3
2h
1 x
4
x(x 2h)
dx = 2
x2 h
= h
(h)(h)
h
3
3
0
 3
2h
2
x(x h)
1 x
x
1
dx = 2
h
= h
(2h)(h)
2h
3
2 0
3

(las segundas integrales se han obtenido por medio de una translacion). Una
forma alternativa de obtenerlos wk , que resulta mas facil de sistematizar para
obtener reglas de mas alto orden, es la siguiente. Primero, como la translacion
de la integral arriba lo demuestra, podemos asumir que el intervalo de interes
es [a, b] = [0, 2h] y xk = kh, k = 0, 1, 2. Como estamos usando interpolacion

IV.1. CUADRATURAS: REGLAS SIMPLES

IV.3

cuadratica, la interpolacion y por lo tanto la integral obtenida con la formula de


cuadratura deben ser exactas. As que para f (x) = xk , k = 0, 1, 2 se debe tener
que, para j = 0, 1, 2,
2
X

wk xjk

2h

Z
=
0

k=0

xj+1
x dx =
j+1


2h
=
0

(2h)j+1
j+1

Estas tres ecuaciones explcitamente son


w0 +w1
+w2
= 2h
+w1 h +w2 (2h) = 2h2
+w1 h2 +w2 (2h)2 = 83 h3
y cancelando hs
w0 +w1 +w2 = 2h
+w1 +2w2 = 2h
+w1 +4w2 = 83 h
La solucion es w0 = h/3, w1 = 4h/3 y w2 = h/3, igual a lo obtenido por medio
de las integrales anteriormente. La cuadratura que se obtiene se llama la regla de
Simpson:
Z x2
h
f (x)dx (f0 + 4f1 + f2 )
3
x0

Soluci
on General
Generalizando, con xk = kh, k = 0, 1, . . . , n, obtenemos, para j = 0, 1, . . . , n,
 j+1 nh
Z nh
n
X
x
(nh)j+1
j
j
x dx =
w k xk =
=
j+1 0
j+1
0
k=0
y de aqu,
n
X

wk (kh)j =

k=0

(nh)j+1
.
j+1

Cancelando h y con wk = wk /h, se obtiene el sitema de ecuaciones


n
X

wk kj =

k=0

que en forma expandida es

1 1 1
0 1 2

0 1 4

.. .. ..
. . .
0 1 2n

nj+1
,
j+1

...

1
n
n2
..
.

nn

para j = 0, 1, . . . , n,

w0
w1
w2
..
.
wn

n
n2
2
n3
3

..
.

nn+1
n+1

NUMERICA

CAPITULO IV. INTEGRACION

IV.4

Note que la matriz de coeficientes es una matriz de Vandermonde. Podemos usar


Matlab para solucionar estos sistemas de ecuaciones. Con la siguiente funcion
function cuadratura(N)
for n=1:N
nn=(n+1):-1:1;
b=((n.^nn)./nn);
V= (vander(0:1:n));
c= (V\b)
end

obtenemos
>> cuadratura(6)
c =
1/2
c =
1/3
c =
3/8
c =
14/45
c =
95/288
c =
41/140

1/2
4/3

1/3

9/8

9/8

3/8

64/45

8/15

64/45

14/45

125/96

125/144

125/144

125/96

54/35

27/140

68/35

27/140

95/288
54/35

Las dos primeras soluciones son las reglas del trapecio y de Simpson. Las dos
siguientes se llaman reglas de Simpson de 3/8 y de Boole:
Regla de Simpson-3/8
Z

x3

f (x)dx =
x0

3h
(f0 + 3f1 + 3f2 + f3 )
8

Regla de Boole
Z

x4

f (x)dx =
x0

2h
(7f0 + 32f1 + 12f2 + 32f3 + 7f4 )
45

Ejemplo.
R5
. Las
En este ejemplo deseamos aproximar ln 5 por medio de la integral 1 dx
x
graficas muestran las interpolaciones de grados 1 a 4. Los resultados obtenidos
con Matlab muestran para cada valor de n, el valor de h y de la cuadratura, y una
tabla con los valores del ndice k y xk , yk wk y wk yk . El valor de la cuadratura es,
para cada n, la suma de la u
ltima columna (valores wk yk ) multiplicada por h.

41/14

IV.1. CUADRATURAS: REGLAS SIMPLES

IV.5

Figura IV.1: Integracion con las reglas del trapecio, Simpson, Simpson 3/8 y Boole.

>> cuadraturaf(8)
n =
1
h =
4
cuad =
12/5
[k x y w w*y] =
0
1
1
5

1
1/5

1/2
1/2

1/2
1/10

n =
2
h =
2
cuad =
76/45
[k x y w w*y] =
0
1
1
3
2
5

1
1/3
1/5

1/3
4/3
1/3

1/3
4/9
1/15

n =
3
h =
4/3
cuad =
636/385
[k x y w w*y] =
0
1
1
7/3
2
11/3
3
5

1
3/7
3/11
1/5

3/8
9/8
9/8
3/8

3/8
27/56
27/88
3/40

n =
4
h =
1
cuad =
364/225
[k x y w w*y] =

NUMERICA

CAPITULO IV. INTEGRACION

IV.6
0
1
2
3
4

1
2
3
4
5

1
1/2
1/3
1/4
1/5

14/45
64/45
8/15
64/45
14/45

14/45
32/45
8/45
16/45
14/225

n =
5
h =
4/5
cuad =
2083/1290
[k x y w w*y] =
0
1
1
9/5
2
13/5
3
17/5
4
21/5
5
5

1
5/9
5/13
5/17
5/21
1/5

95/288
125/96
125/144
125/144
125/96
95/288

95/288
625/864
625/1872
625/2448
625/2016
19/288

n =
6
h =
2/3
cuad =
662/411
[k x y w w*y] =
0
1
1
5/3
2
7/3
3
3
4
11/3
5
13/3
6
5

1
3/5
3/7
1/3
3/11
3/13
1/5

41/140
54/35
27/140
68/35
27/140
54/35
41/140

41/140
162/175
81/980
68/105
81/1540
162/455
41/700

n =
7
h =
4/7
cuad =
2752/1709
[k x y w w*y] =
0
1
1
11/7
2
15/7
3
19/7
4
23/7
5
27/7
6
31/7
7
5

1
7/11
7/15
7/19
7/23
7/27
7/31
1/5

1073/3527
810/559
343/640
649/536
649/536
343/640
810/559
1073/3527

1073/3527
509/552
600/2399
1113/2495
646/1753
467/3361
551/1684
193/3172

n =
8
h =
1/2
cuad =
433/269
[k x y w w*y] =
0
1
1
3/2
2
2
3
5/2
4
3
5
7/2
6
4
7
9/2
8
5

1
2/3
1/2
2/5
1/3
2/7
1/4
2/9
1/5

499/1788
1183/712
-353/1348
388/131
-1317/1028
388/131
-353/1348
1183/712
499/1788

499/1788
1183/1068
-353/2696
776/655
-439/1028
765/904
-353/5392
1183/3204
297/5321

Finalmente, la tabla siguiente muestra las cuadraturas y el error resultantes para


n = 1, 2, . . . , 12.

IV.2. ERROR DE LAS REGLAS SIMPLES


n

cuadratura

error

1
2
3
4
5
6
7
8
9
10
11
12

2.400000000000000
1.688888888888889
1.651948051948052
1.617777777777775
1.614728626493345
1.610704216419929
1.610298283118095
1.609665126452762
1.609598154738391
1.609482778174419
1.609467583016121
1.609424211461854

0.790562087565900
0.079450976454788
0.042510139513952
0.008339865343675
0.005290714059245
0.001266303985829
0.000860370683995
0.000227214018661
0.000160242304291
0.000044865740318
0.000029670582020
0.000013700972246

IV.2.

IV.7

Error de las Reglas Simples

Dada una cuadratura


Q[f ] =

M
X

wk f (xk ),

k=0

el error de truncamiento es
b

f (x)dx Q[f ]

E[f ] =
a

IV.2.1.

Grado de Precisi
on

El grado de precision de una formula de cuadratura es el entero positivo n tal


que E[p] = 0 para todo polinomio p(x) de grado n pero E[pn+1 ] 6= 0 para alg
un
polinomio pn+1 (x) de grado n + 1. Veamos el grado de precision de las reglas
simples antes derivadas. En cada caso, obviamente, el grado de precision es al
menos el grado de la interpolacion para el cual se derivo la regla.
Trapecio
Por una parte
Z

x2 dx =

h3
.
3

Por otra parte


QT [x2 ] =

h
h3
(0 + h2 ) =
2
2

Puesto que estos dos resultados son diferentes, el grado de precision de la regla
del trapecio es 1.

NUMERICA

CAPITULO IV. INTEGRACION

IV.8
Simpson
Tenemos que
R 2h 3
x dx =
R02h 4
x dx =
0

(2h)4
4
(2h)5
5

QS [x3 ] = h3 (0 + 4h3 + (2h)3 ) = 4h4


QS [x4 ] = h3 (0 + 4h4 + (2h)4 ) = 20
h5
3

= 4h4
= 32
h5
5

As que el grado de la regla de Simpson es 3. Note que esto es uno mas de lo que
podamos esperar dado que se obtuvo con interpolacion cuadratica.
Simpson 3/8
Tenemos que
R 3h
0

(3h)5
5

x4 dx =

243 5
h;
5

QS3/8 [x4 ] =

3h
(0
8

+ 3h4 + 3(2h)4 + (3h)4 ) =

99 5
h
2

As que el grado de la regla de Simpson 3/8 es 3.


Boole
Tenemos que
R 4h
0

R 4h
0

x5 dx =

(4h)6
6

x6 dx =

(4h)7
7

2048 6
h;
3

QB [x5 ] =
=
16384 7
6
= 7 h ; QB [x ] =
=
=

2h
(7(0)
45
2048 6
h
3
2h
(7(0)
45
7040 7
h
3

+ 32h5 + 12(2h)5 + 32(3h)5 + 7(4h)5 )


+ 32h6 + 12(2h)6 + 32(3h)6 + 7(4h)6 )

As que el grado de la regla de Boole es 5. De nuevo uno mas de lo que se podra


esperar dado que el metodo se deriva de interpolacion de grado 4.

IV.2.2.

Reglas Simples con Error

Se puede usar el error de interpolacion para estimar el error de las reglas de


cuadratura anteriores. Sin embargo, procediendo de esta manera no se obtiene la
mejor estimacion posible. Por ejemplo, para la regla de Simpson se obtendra que
el error es proporcional a f (3) (c)h4 para alg
un c [x0 , x2 ]. Pero hemos obtenido
que esta regla es exacta para polinomios de grado 3, y consistente con esto se puede
derivar (aunque no lo hacemos aqu) que el error es proporcional a f (4) (c)h5 para
alg
un c [x0 , x2 ], como se enuncia en esta seccion.
Regla del Trapecio
Z

x1

f (x)dx =
x0

h
h3
(f0 + f1 ) f (2) (c) para alg
un c [x0 , x1 ]
2
12

IV.2. ERROR DE LAS REGLAS SIMPLES

IV.9

Prueba: El error de interpolacion lineal en x esta dado por


1
E1 (x) = f (x) p1 (x) = f 00 (
c(x))(x x0 )(x x1 )
2
para alg
un c(x) [x0 , x1 ]. Entonces
Z x1
1 00
ET [f ] =
f (
c(x))(x x0 )(x x1 )dx
x0 2
Z x1
1 00
(x x0 )(x x1 )dx
=
f (c)
2
x0
Z h
1 00
=
x(x h)dx
f (c)
2
0

h
1 00
1 3 1 2
=
f (c) x x h
2
3
2
0
1 00
= f (c)h3
12
donde en la segunda lnea se ha usado el teorema del valor medio para integrales
con una funcion de peso (la funcion f 00 (
c(x)) puede salir de la integral como f 00 (c)
donde c = c() para alg
un [x0 , x1 ]).
Regla de Simpson
Z

x2

f (x)dx =
x0

h5
h
(f0 + 4f1 + f2 ) f (4) (c) para alg
un c [x0 , x2 ]
3
90

Regla de Simpson-3/8
Z

x3

f (x)dx =
x0

3h
3h5 (4)
(f0 + 3f1 + 3f2 + f3 )
f (c) para alg
un c [x0 , x3 ]
8
80

Regla de Boole
Z

x4

x0

2h
8h7 (6)
f (x)dx =
(7f0 +32f1 +12f2 +32f3 +7f4 )
f (c) para alg
un c [x0 , x4 ]
45
945

Ejemplo.
R5
.
Consideramos de nuevo la aproximacion de ln 5 por medio de la integral 1 dx
x
Se quiere determinar las cotas de error dadas teoricas de acuerdo a las formulas
anteriores. Tenemos
1
f (x) = ;
f 0 (x) = x12 ; f 00 (x) = x23 ; f (3) (x) = x64
x
f (4) (x) = x245 ; f (5) (x) = 120
; f (6) (x) = 720
x6
x7

NUMERICA

CAPITULO IV. INTEGRACION

IV.10

Todas estas son decrecientes en valor absoluto y por lo tanto el maximo ocurre en
x = 1, en cada caso. As que
43
32
h3
max |f (2) (x)| =
2=
= 10,666666
12 x[1,5]
12
3
h5
25
384
|ES (1/x, [1, 5])|
max |f (4) (x)| =
24 =
= 8,533333
90 x[1,5]
90
45
3(4/3)5
512
3h5
(4)
max |f (x)| =
24 =
= 3,792592
|ES3/8 (1/x, [1, 5])|
80 x[1,5]
80
135
8h7
8
128
|EB (1/x, [1, 5])|
max |f (6) (x)| =
720 =
= 6,095238
945 x[1,5]
945
21
|ET (1/x, [1, 5])|

Por otra parte, el valor exacto de la integral es ln 5 = 1,609437912434100 y


el resultado de las reglas del trapecio, de Simpson y de Boole son: 2,4, 1,6888888
y 1,61777777 . As que se observa que la cota de error esta lejos del error real.
Esto se debe principalmente a que las derivadas decrecen rapidamente para x > 1
pero tomamos el maximo en x = 1 para la cota.

IV.3.

Reglas Simples Abiertas

Las reglas anteriores son cerradas porque incluyen los extremos del intervalo
como nodos. En las reglas abiertas se omiten los extremos. Las siguientes son las
primeras tales reglas, para n nodos, con n = 1, 2, 3, 4, donde en cada caso a = x1 ,
b = xn , y x1 , x0 , x1 , . . . , xn dividen [a, b] en intervalos iguales:
Z x1
1
f (x)dx = 2hf (x0 ) + f 00 (c)h3
3
x
Z 1
x2
3
3h
(f (x0 ) + f (x1 )) + f 00 (c)h3
f (x)dx =
2
4
x
Z 1
x3
4h
14
f (x)dx =
(2f (x0 ) f (x1 ) + 2f (x2 )) + f (4) (c)
3
45
x
Z 1
x4
5h
95 (4)
f (x)dx =
(11f (x0 ) + f (x1 ) + f (x2 ) + 11f (x0 )) +
f (c)
24
144
x1

IV.4.

Reglas Compuestas

Como ocurre en interpolacion, en general se prefiere dividir el intervalo de


integracion en un n
umero de subintervalos y aplicar una regla simple de bajo orden
en cada uno de ellos. Las formulas resultantes se denominan reglas compuestas. Sea
[a, b] el intervalo de integracion y M el n
umero de subintervalos. Para las reglas
del trapecio, de Simpson y de Boole se obtienen las siguientes reglas compuestas.
Escribimos fk = f (xk ).

IV.4. REGLAS COMPUESTAS

IV.11

Trapecio
Sea h = (b a)/M y xk = a + kh, k = 0, 1, . . . , M . Se aplica la regla simple
del trapecio en cada subintervalo [xk , xk+1 ] y se obtiene la regla compuesta
h
(f0 + 2f1 + 2f2 + 2f3 + + 2fM 2 + 2fM 1 + fM )
2
!
M
1
X
h
=
f0 +
fk + fM
2
k=1

T (f, h) =

ET (f, h) =

(b a)f (2) (c) 2


h = O(h2 ) para alg
un c [a, b]
12

Simpson (1/3)
Sea h = (b a)/2M y xk = a + kh, k = 0, 1, . . . , 2M . Se aplica la regla simple
del trapecio en cada subintervalo [x2k , x2k+2 ] y se obtiene la regla compuesta
h
((f0 + 4f1 + f2 ) + (f2 + 4f3 + f4 ) + + (f2M 2 + 4f2M 1 + f2M ))
3
h
=
(f0 + 4f1 + 2f2 + 4f3 + 2f4 + + 2f2M 2 + 4f2M 1 + f2M )
3
!
M
1
M
1
X
X
h
f2k+1 + f2M
f2k + 4
f (x0 ) + 2
=
3
k=0
k=1

S(f, h) =

ES (f, h) =

(b a)f (4) (c) 4


h = O(h4 ) para alg
un c [a, b]
180

Boole
Sea h = (b a)/4M y xk = a + kh, k = 0, 1, . . . , 4M . Se aplica la regla simple
del trapecio en cada subintervalo [x4k , x4k+4 ] y se obtiene la regla compuesta
M 1
2h X
B(f, h) =
(7f4k + 32f4k+1 + 12f4k+2 + 32f4k+3 + 7f4k+4 )
45 k=0

2h
=
45

7f0 + 14

M
1
X
k=1

f4k + 32

M
1
X

M
1
X

k=0

k=0

(f4k+1 + f4k+3 ) + 12

!
f4k+2 + 7f4M

EB (f, h) = O(h )
Ejemplo.
R5
Se quiere aproximar la integral 0 exp(x2 /2)dx por medio de (i) la regla
compuesta del trapecio con M = 10 y de (ii) la regla compuesta de Simpson con

NUMERICA

CAPITULO IV. INTEGRACION

IV.12

2M = 10. Para cada caso, (iii) cual es la cota teorica de error ? (iv) cual debe ser
el mnimo valor de M para garantizar error no mayor que 5 109 ?
Sea f (x) = exp(x2 /2).
(i) Con M = 10, tenemos xk = k/2, para k = 0, 1, . . . , 10. Tenemos la tabla de
valores
k
0
1
2
3
4
5
6
7
8
9
10

xk
0
0,5
1,0
1,5
2,0
2,5
3,0
3,5
4,0
4,5
5,0

fk
1,00000000
0,88249690
0,60653065
0,32465246
0,13533528
0,04393693
0,01110899
0,00218749
0,00033546
0,00004006
0,00000372

Entonces
0,5
(1 + 2 0,88249690 + 2 0,60653065 + 2 0,32465246
2
+2 0,13533528 + 2 0,04393693 + 2 0,01110899 + 2 0,00218749
+2 0,00033546 + 2 0,00004006 + 0,00000372)
= 0,25 5,01325225 = 1,25331306

T (f, 0,5) =

(ii) Usando la misma tabla de valores, tenemos


0,5
(1 + 4 0,88249690 + 2 0,60653065 + 4 0,32465246
3
+2 0,13533528 + 4 0,04393693 + 2 0,01110899 + 4 0,00218749
+2 0,00033546 + 4 0,00004006 + 0,00000372)
= 0,16666667 7,51987997 = 1,25331333

S(f, 0,5) =

(iii) Para usar las cotas teoricas, obtenemos las derivadas de f (x):
f (0) (x)
f (1) (x)
f (2) (x)
f (3) (x)
f (4) (x)
f (5) (x)

=
=
=
=
=
=

exp(x2 /2)
(x) exp(x2 /2)
(1 + x2 ) exp(x2 /2)
(3x x3 ) exp(x2 /2)
(3 6x2 + x4 ) exp(x2 /2)
(15x + 10x3 x5 ) exp(x2 /2)

IV.4. REGLAS COMPUESTAS

IV.13

Para la regla del trapecio


|ET (f, h)|

(b a)h2
max |f (2) (x)|
x[0,5]
12

Para determinar el max de |f (2) (x)| en [1, 5], encontramos los puntos crticos
de f (2) (x) igualando a cero f (3) (x):

f (3) (x) = (3x x3 ) exp(x2 /2) = 0 x = 0 o x = 3.

Comparando entonces f (0), f ( 3) y f (5), se encuentra que el maximo (en


valor absoluto) esta en x = 0. As que maxx[0,5] |f (2) (x)| = 1, y por lo tanto
|ET (f, 0,5)|

5 (0,5)2
1 = 0,1042
12

Para la regla de Simpson


|ES (f, h)|

(b a)h4
max |f (4) (x)|
180 x[0,5]

Similarmente, determinamos los puntos crticos


f (5) (x) = (15x+10x3 x5 ) exp(x2 /2) = 0

x = 0 o x2 = 5 10.

En el segundo caso se tiene x 1,3556, x 2,8570. Comparando


f (4) (0) = 3
f (4) (1,3556) = 1,8549
f (4) (2,8570) = 0,3487
se encuentra que maxx[0,5] |f (4) (x)| = 3 y por lo tanto
|ES (f, h)|

5(0,5)4
3 = 0,005208
180

(iv) Para la regla del trapecio M debe ser tal que


5(5/M )2
5 109
12
de donde

5 4
10 = 45643,54
6
Entonces se necesita M = 45644. Para la regla del trapecio 2M debe ser tal
que
(5/2M )4
5 109
12
de donde
5 100
M 1/4 = 159,73
2 6
Entonces se necesita M = 160.
M 5

NUMERICA

CAPITULO IV. INTEGRACION

IV.14

Matlab
A continuacion las rutinas que implementan las reglas del trapecio y de Simpson compuestas.
function s = traprl (f, a, b, M)
% Entrada - f es ei integrando introducido como cadena de caracteres
%
- a y b son los limites superior e inferior de integracion
%
- M es el numero de subintervalos
% Salida
- s es la suma de la regla trapezoidal (integral)
h = (b - a) / M;
s = 0;
for k = 1:(M-1)
x = a + h * k;
s = s + feval(f, x);
end
s = h *(feval(f, a) + feval(f, b)) / 2 + h * s;
function s = simprl (f, a, b, M)
% Entrada - f es el integrando introducido como cadena de caracteres
%
- a y b son los limites superior e inferior de integracion
%
- M es el numero de subintervalos
% Salida
- s es la suma de la regla de simpson
h = (b - a) / (2 * M);
s1 = 0;
s2 = 0;
for k = 1:M
x = a + h * (2 * k - 1);
s1 = s1 + feval(f, x);
end
for k = 1:(M-1)
x = a + h * 2 * k;
s2 = s2 + feval(f, x);
end
s = h * (feval(f, a) + feval(f, b) + 4 * s1 + 2 * s2) / 3;

IV.5.

Reglas Recursivas y M
etodo de Romberg

IV.5.1.

Reglas Recursivas

Trapecio. Para k = 0, 1, 2, . . ., el intervalo [a, b] se subdivide en Mk = 2k subintervalos de longitud hk = (b a)/2k , y T (k) es el valor de la regla del trapecio
compuesta para estos 2k subintervalos. Las abscisas para T (k) son
xk,j = a + jhk

para j = 0, 1, . . . , 2k ,

y los valores de la funcion son


fk,j = f (xk,j ).
Los valores de las reglas del trapecio T (k) se pueden evaluar iterativamente de la
siguiente manera:
h
T0 = (f (a) + f (b))
2


IV.5. REGLAS RECURSIVAS Y METODO
DE ROMBERG

IV.15

y para k 1
Mk1
X
T (k 1)
+ hk
fk,2j1 .
Tk =
2
j=1

Prueba. Se verifica teniendo en cuenta que Mk = 2Mk1 y que los nodos de Tk1
son los nodos pares de Tk : es decir xk1,j = xk,2j , y por lo tanto fk1,j = fk,2j . Con
esto, podemos escribir
Tk =

hk
2

fk,0 + 2

!
fk,j + fk,Mk

j=1

M
k 1
X

hk
fk,0 + 2
2

1 hk1
=
2 2

Mk
2

fk,2j + fk,Mk + hk

j=1

Mk
2
X

fk,2j1

j=1
Mk1 1

fk1,0 + 2

Mk1

!
fk1,j + fk1,Mk1

+ hk

j=1

fk,2j1

j=1

Mk1
X
Tk1
=
+ hk
fk,2j1 .
2
j=1

Simpson. [a, b] se subdivide en 2k = 2M , k 1, subintervalos. Sk es el valor


de la regla de Simpson compuesta con 2k subintervalos y hk = (b a)/2k . Con un
calculo como el anterior, se obtiene la relacion
Sk =

4Tk Tk1
para k = 1, 2, 3, . . .
3

Es decir, por medio de esta formula se obtiene la cuadratura de Simpson con error
O(h4 ) a partir de la del trapecio con error O(h2 ).
Boole. [a, b] se subdivide en 2k = 4M , k 2, subintervalos. Bk es el valor de la
regla de Boole compuesta con 2k subintervalos y hk = (b a)/2k . De nuevo, con
un calculo como el anterior, se obtiene la relacion
Bk =

16Sk Sk1
para k = 2, 3, . . .
15

As, se obtiene la cuadratura de Boole con error O(h6 ) a partir de la de Simpson


con error O(h4 ).
Lo anterior es un ejemplo del metodo de Romberg el cual describimos a continuacion.

NUMERICA

CAPITULO IV. INTEGRACION

IV.16

IV.5.2.

M
etodo de Romberg

El metodo de Romberg se origina en la siguiente formula del error para la rega


del trapecio:
ET (f, h) = a1 h2 + a2 h4 + a3 h6 +
Ya habamos visto que este error es O(h2 ); lo crucial aqu es que cuando se derivan los terminos de mas alto orden no aparecen potencias impares, y que los
coeficientes ai son independientes de h. As que
b

f (x)dx = T (f, h) + a1 h2 + a2 h4 + a3 h6 +

Escribiendo la misma relacion para 2h se obtiene


Z

f (x)dx = T (f, 2h) + 4a1 h2 + 16a2 h4 + 64a3 h6 +

Multiplicando por 4 la primera ecuacion y substrayendo la segunda se obtiene


Z
(4 1)

f (x)dx = 4T (f, h) T (f, 2h) + (4 16)a2 h4 + (4 64)a3 h6 +

y
Z

f (x)dx =
a

4T (f, h) T (f, 2h)


+ b2 h4 + b3 h6
41

con b2 = (4 16)/(4 1), b3 = (4 64)/(4 1), etc. De esta forma se ha obtenido


una nueva cuadratura con error O(h4 ). De acuerdo con las formulas recursivas
derivadas antes, esta nueva regla es simplemente la regla de Simpson, la cual
sabemos tiene error O(h4 ). Se puede continuar de la misma manera obteniendo
reglas de error cada vez menor (la siguiente es la regla de Boole).
Generalizando lo anterior, se obtiene el siguiente procedimiento iterativo para
calcular una secuencia de cuadraturas Rk,j , j 1 y k j: primero
Rk,1 = Tk1 para k 1
y para j 2 y k j se tiene la relacion
Rk,j =

4j1 Rk,j1 Rk1,j1


4j1 1

Esto corresponde a una tabla Rk,j calculada con las dependencias de la siguiente manera:


IV.5. REGLAS RECURSIVAS Y METODO
DE ROMBERG

Trapecio

O(h2 )

Simpson

Boole

O(h4 )

O(h6 )

R2,2
R3,2
R4,2
R5,2
R6,2

R3,3
R4,3
R5,3
R6,3

IV.17

O(h8 )

O(h10 ) O(h12 )

R4,4
R5,4
R6,4
..
.

R5,5
R6,5

R1,1
R2,1
R3,1
R4,1
R5,1
R6,1

R6,6

Se tiene que
Rk,1 = Tk1 para k 1
Rk,2 = Sk1 para k 2
Rk,3 = Bk1 para k 3
Prueba. Veamos como se deduce la regla recursiva para Rk,j en general. Supon2(j1)
gamos que ya tenemos las reglas Rk,j1 y Rk1,j1 las cuales tienen error O(hk
)
2(j1)
y O(hk1 ) respectivamente:
Z b
2(j1)
f (x)dx = Rk,j1 + aj1 hk
+ aj h2j
k +
a
Z b
2(j1)
f (x)dx = Rk1,j1 + aj1 hk1 + aj h2j
k1 +
a

Usado hk1 = 2hk , podemos reescribir la segunda ecuacion como


Z b
2(j1)
f (x)dx = Rk1,j1 + 22(j1) aj1 hk
+ 22j aj h2j
k
a

donde los puntos denotan terminos de mas alto orden. Multiplicando la primera
igualdad por 22(j1) = 4j1 y substrayendo la segunda se tiene que
Z b

j1
(4 1)
f (x)dx = 4j1 Rk,j1 Rk1,j1 + bj h2j
k +
a

donde bj = 3 4j1 aj . As que


Z b
4j1 Rk,j1 Rk1,j1
+ bj h2j
f (x)dx =
k +
j1
4 1
a

NUMERICA

CAPITULO IV. INTEGRACION

IV.18

y por lo tanto podemos definir la cuadratura


Rk,j =

4j1 Rk,j1 Rk1,j1


4j1 1

la cual tiene error O(h2j


k ).
Ejemplo. Consideramos de nuevo la funcion f (x) = exp(x2 /2) en [0, 5].
>> [R Q err h]=romber(@(x) exp(-x.^2/2),0,5,4,5e-5)
R =
2.50000932
0
0
0
1.35984699
0.97979288
0
0
1.25331998
1.21781098
1.23367885
0
1.25331289
1.25331052
1.25567716
1.25602633
1.25331327
1.25331340
1.25331359
1.25327608
Q =
1.25326529
err =
0.00276105
h =
0.31250000

0
0
0
0
1.25326529

Matlab
function [R, quad, err, h] = romber (f, a, b, n, tol)
% Entrada - f es el integrando introducido como cadena de caracteres
%
- a y b son los limites superior e inferior de integracion
%
- n es el numero maximo de filas en la tabla
%
- tol es la tolerancia
% Salida
- R es la tabla de Romberg
%
- quad es el valor de la cuadratura (integral)
%
- err es el error estimado
%
- h es el tama~
no de paso mas peque~
no utilizado
M = 1;
h = b - a;
err = 1;
J = 0;
R = zeros(4, 4);
R(1, 1) = h * (feval(f, a) + feval(f, b)) / 2;
while ((err > tol) & (J < n)) | (J < 4)
J = J + 1;
h = h / 2;
s = 0;
for p = 1:M
x = a + h * (2 * p - 1);
s = s + feval(f, x);
end
R(J+1, 1) = R(J, 1) / 2 + h * s;
M = 2 * M;
for K = 1:J
R(J+1, K+1) = R(J+1, K) + (R(J+1, K) - R(J, K)) / (4 ^ K - 1);
end
err = abs(R(J, J) - R(J+1, K+1));
end
quad = R(J+1, J+1);

IV.6. CUADRATURA DE GAUSS-LEGENDRE

IV.6.

IV.19

Cuadratura de Gauss-Legendre

Las reglas que hemos estudiado hasta ahora tienen x0 = a y xn = b por lo cual
se dice que son cerradas y los nodos estan distribuidos uniformemente. Existen
reglas en las cuales esto no es cierto. En la cuadratura de Gauss-Legendre, con n
nodos se logra grado de precision 2n 1. Los nodos que se usan son las races del
polinomio de Legendre de grado n.
Regla de Gauss-Legendre para dos Puntos. La regla de Gauss-Legendre
para dos puntos esta dada por




Z 1
1
1
+f
f (x)dx G2 (f ) = f
3
3
1
con error

f (4) (c)
135
4
para alg
un c [1, 1], asumiendo f C [1, 1].
EG2 (f ) =

Esta formula se puede derivar a partir de la forma


G2 (f ) = w1 f (1 ) + w2 f (2 )
tratando de obtener una cuadratura con el mayor grado de precision posible. As,
procedemos con los calculos:
R1
1dx = 2
G2 (1) = w1 + w2
R1
1
xdx = 0
G2 (x) = w1 1 + w2 2
R1
1
2
2
x dx = 3
G2 (x2 ) = w1 12 + w2 22
R1
1
x3 dx = 0
G2 (x3 ) = w1 13 + w2 23
1
De donde se obtienen las ecuaciones
w1 + w2 = 2
w 1 1 + w 2 2 = 0
2
w1 12 + w2 22 =
3
3
3
w 1 1 + w 2 2 = 0
De la segunda ecuacion, se tiene w2 2 = w1 1 . Reemplazando esto en la u
ltima
resulta en
w1 1 (12 22 ) = 0
No puede ser que w1 x1 = 0, por lo tanto 2 = 1 . Esto en la segunda ecuacion
da w1 = w2 , y por lo tanto la primera ecuacion implica que
w1 = w2 = 1.

NUMERICA

CAPITULO IV. INTEGRACION

IV.20

Finalmente, la tercera ecuacion implica que


1
1 = 2 = .
3
Los valores determinados corresponden a la expresion de G2 dada antes. El grado
de precision es 3 porque
4  4

R1 4
1
2
4

G2 (x ) = 3 + 13 = 29
x dx = 5
1
R5
Ejemplo. Usamos la cuadratura G2 para aproximar ln 5 = 1 dx
. Primero debex
mos trasladar la integral al intervalo [1, 1] con el cambio de variable x = 2u + 3:
Z 1
Z 5
2du
dx
=
.
x
1 2u + 3
1
Entonces
Z 1
ln 5 =
1

2
2
26
36
2du

+
=
=
= 1,565217
2u + 3
9 4/3
23
2(1/ 3) + 3 2(1/ 3) + 3

mientras que el valor exacto es 1,609437912


Regla de Gauss-Legendre para tres Puntos. La regla de Gauss-Legendre
para tres puntos esta dada por
r !
r !!
Z 1
1
3
3
5f
+ 8f (0) + 5f
f (x)dx G3 (f ) =
9
5
5
1
con error

f (6) (c)
15750
6
para alg
un c [1, 1], asumiendo f C [1, 1].
EG3 (f ) =

Ejemplo. Usamos la cuadratura G3 para aproximar ln 5 =


Z 5
Z 1
dx
2du
ln 5 =
=
.
x
1
1 2u + 3

R5
1

dx
.
x

Ya sabemos

Entonces
1
ln 5
9

2
2
5 p
+8
+5 p
20+3
2 3/5 + 3
+2 3/5 + 3

2
(5 0,68927172 + 8 0,33333333 + 5 0,21981919)
5
2
=
(3,44635859 + 2,66666667 + 1,09909596)
9
= 1,60269360
=

IV.6. CUADRATURA DE GAUSS-LEGENDRE

IV.6.1.

IV.21

Polinomios de Legendre

Se puede usar el metodo anterior (coeficientes indeterminados) para obtener


n nodos y coeficientes de tal manera que la cuadratura resultante tiene grado
de precision 2n 1. Alternativamente, esos mismos nodos resultan ser las races
de los llamados polinomios de Legendre. En el intervalo [1, 1], el conjunto de
polinomios forma un espacio vectorial con producto interior
Z

+1

hP (x), Q(x)i =

P (x)Q(x)dx
1

Se puede aplicar entonces el proceso de ortogonalizacion de Gram-Schmidt para


obtener una sucesion de polinomios ortogonales Pn (x), n = 0, 1, 2 . . .. Estos son
los llamados polinomios de Legendre. Enunciamos el resultado que se obtiene.
Teorema IV.1 Los polinomios monicos de Legendre P0 (x), P1 (x), P2 (x), . . . definidos por la relacion de recurrencia
P0 (x) = 1,

P1 (x) = x,

Pn+1 (x) = xPn (x)

n2
Pn1 (x)
4n2 1

satisfacen las siguientes propiedades: para cada n = 0, 1, 2, 3, . . .


(i) Pn (x) tiene n races reales diferentes en el intervalo [1, 1]
(ii) cualquier polinomio P (x) de grado n se puede escribir como combinacion
lineal de P0 (x), P1 (x), . . . , Pn (x), es decir, existen n
umeros reales c0 , . . . , cn
(
unicos) tal que
n
X
P (x) =
ci Pi (x)
i=0

(iii) para todo m 6= n, Pn (x) y Pm (x) son ortogonales, es decir,


+1

Pn (x)Pm (x)dx = 0
1

(iv) si Q(x) es de grado menor que n entonces


Z

+1

Pn (x)Q(x)dx = 0.
1

Como ejemplo, tenemos la siguiente tabla de los primeros polinomios y sus


races:

NUMERICA

CAPITULO IV. INTEGRACION

IV.22

n
0
1

Pn (x)
1
x
2

races
q 0
13 = 33
q

0, 35 = 515
r 

q 

52570 30
17 3 2 65 =
35

1
3

x3 53 x

x4 67 x +

30
35

Note que las races de los polinomios de grado 2 y 3 son las mismas obtenidas
antes usando el metodo de coeficientes indeterminados.

IV.6.2.

M
etodo de Gauss-Legendre

El metodo de Gauss-Legendre con n nodos para la integral


cuadratura
n
X
Gn [f ] =
wi f (xi )

R +1
1

f (x)dx es la

i=1

donde x1 , x2 , . . . , xn son las n races de Pn (x), y los pesos wi son los correspondientes a la integral exacta del polinomio de interpolacion para los datos (xi , f (xi )),
i = 1, 2, . . . , n. Mas precisamente, recordemos que para estos datos la interpolacion
de Lagrange (un polinomio de grado n 1) esta dada por
I(x) =

n
X

f (xi ) Ln1,i (x),

i=1

donde
Ln,i =
Entonces
Z

+1

I(x)dx =
1

Y x xj
.
x
i xj
j6=i

n
X

+1

f (xi )

i=1

Ln1,i (x)dx,
1

y por lo tanto
Z

+1

wi =

Ln1,i (x)dx.
1

Esto da un metodo para calcular los wi de la cuadratura. Equivalentemente, los


wi se pueden obtener con el metodo de coeficientes indeterminados para los nodos
x1 , . . . , xn y los polinomios 1, x, x2 , . . . , xn1 , de tal manera que la cuadratura es
exacta para los polinomios 1, x, x2 , . . . , xn1 . Se obtienen las n ecuaciones, para
k = 0, 1, 2, . . . , n 1, con las n incognitas w1 , w2 , . . . , wn :
Z +1
n
X
1 (1)k+1
k
wi xi =
xk dx =
.
k
+
1
1
i=1

IV.6. CUADRATURA DE GAUSS-LEGENDRE

IV.23

Este metodo se ha implementado en el programa Matlab que se incluye adelante.


Ahora justificamos el grado de precision del metodo de Gauss-Legendre.
Teorema IV.2 El metodo de Gauss-Legendre es exacto para todo polinomio de
grado menor que 2n.
Prueba. Sea P (x) un polinomio de grado menor que 2n. Si el grado de P (x) es
menor que n entonces la cuadratura es exacta (por la construccion de los wi ). Si
P (x) tiene grado al menos n y menor que 2n, entonces tomando el cociente con
Pn (x) podemos escribir
P (x) = Q(x)Pn (x) + R(x)
donde los grados del cociente Q(x) y del residuo R(x) son menores que n. Por lo
tanto, por el caso ya considerado, la cuadratura para R es exacta, es decir
Z +1
R(x)dx = Gn [R].
1

Por otra parte


Z
Z +1
P (x)dx =

+1

+1

R(x)dx

R(x)dx =

Q(x)Pn (x)dx +
1

+1

R +1
porque 1 Q(x)Pn (x)dx = 0 por la propiedad (iv) de los polinomios de Legendre
en el teorema anterior. Ademas puesto que x1 , x2 , . . . , xn son las races de Pn (x),
es decir Pn (xi ) = 0, se tiene que
P (xi ) = Q(x)Pn (xi ) + R(xi ) = R(xi ),
y por lo tanto las cuadraturas de P (x) y de R(x) son iguales, Gn [P ] = Gn [R].
As que
Z +1
Z +1
R(x)dx = Gn [R] = Gn [P ].
P (x)dx =
1

Hemos obtenido que la cuadratura es exacta para P (x) donde P (x) es cualquier
polinomio de grado menor que 2n.
Finalmente, en general la integral de interes es sobre un intervalos [a, b]. Para
su evaluacion, se usa un cambio de variable
a(1 t) + b(1 + t)
x=
2
Con esto,


Z b
Z
b a +1
a(1 t) + b(1 + t)
f (x)dx =
f
dt
2
2
a
1
y por lo tanto la cuadratura de f en [a, b] con n nodos esta dada por


n
ba X
a(1 xi ) + b(1 + xi )
Gn [f ] =

wi f
2
2
i=1
donde los xi son las races en [1, 1] como antes, y los coeficietes wi son los mismos
que antes.

NUMERICA

CAPITULO IV. INTEGRACION

IV.24

IV.6.3.

Programa Matlab

El siguiente programa Matlab calcula las races del polinomio de Legendre


necesario y los coeficiente de la cuadratura. Por supuesto, si esta funcion se va
a usar repetidamente sera mas eficiente precalcular estos, tenerlos disponibles y
simplemente usarlos. El calculo de las races se basa en la observacion de que el
polinomio de Legendre Pn (x) es igual al polinomio caracterstico de la siguiente
matriz, llamada matriz de Jacobi:

0
0
0
0
1/ 3

1/ 3
0
2/
15
0
0

0
2/ 15
0
3/ 35
0

0
0
3/ 35
0
4/ 65
..
..
..
..
..
.
.
.
.
.
0
0
0
0
0
0

0
0
0
0
..
.

..
.

0
0
0
0
..
.

0
0
0
0
..
.

n2
4(n2)2 1

0
0
0
0
..
.
n1
4(n1)2 1

n1
4(n1)2 1

Esto se puede comprobar de la ecuacion de recurrecia de los polinomios. La evaluacon de los coeficientes se basa en el metodo de coeficientes indeterminados.
function [quad, raices, nodos, coefs] = GaussLegendre( f, a, b, N)
% Entrada
- f es el integrando introducido como una cadena de caracters
%
- a y b limites superior e inferior de integracion
%
- N es el numero de nodos en la cuadratura
% Salida
- quad es el valor de cuadratura
%
- raices es el vector de raices del polinomio de Legendre N
%
- nodos es el vector de nodos de la cuadratura e [a,b]
%
- coefs es el vector de pesos de la cuadratura
% evaluacion de las N raices del polinomio de Legendre P_N de grado N,
%
usando el hecho de que P_N es el polinomio caracteristico de la
%
matriz de Jacobi J
v = feval(@(n) n./sqrt(4*n.^2-1), 1:N-1);
J = diag(v,-1)+diag(v,+1);
raices = eig(J);
% evaluacion de los nodos por medio de transformacion lineal
nodos = (a*(1-raices)+b*(1+raices))/2;
% evaluacion de los coeficientes de la cuadratura por el metodo de
%
coeficientes indeterminados
V = (vander(raices));
z = (feval(@(k) (1-(-1).^k)./k, N:-1:1));
coefs = V\z;
% evaluacion de la cuadratura
quad = ((b-a)/2) * sum(coefs.*feval(f, nodos));
end

IV.6. CUADRATURA DE GAUSS-LEGENDRE


Ejemplo. Usamos la rutina para evaluar

R5
0

IV.25

exp(x2 /2)dx con 8 nodos:

>> [quad, raices, nodos, coefs] = GaussLegendre(@(x) exp(-x.^2/2),0,5,8)


quad =
1.253315160546044
raices =
-0.960289856497536
-0.796666477413627
-0.525532409916329
-0.183434642495650
0.183434642495650
0.525532409916329
0.796666477413627
0.960289856497536
nodos =
0.099275358756159
0.508333806465933
1.186168975209178
2.041413393760875
2.958586606239126
3.813831024790822
4.491666193534066
4.900724641243841
coefs =
0.101228536290375
0.222381034453377
0.313706645877884
0.362683783378367
0.362683783378358
0.313706645877890
0.222381034453373
0.101228536290377

También podría gustarte