Upload
anon71058540
View
17
Download
0
Embed Size (px)
DESCRIPTION
integration
Citation preview
Captulo IV
Integracion Numerica
IV.1. Cuadraturas: Reglas Simples
La formulas de cuadratura o reglas simples se obtienen por medio de interpo-lacion polinomial: la funcion a integrar se muestrea, es decir, se toman puntosde 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, sipn(x) es una buena aproximacion de f(x), entonces su integral
bapn(x)dx debe
ser una buena aproximacion de baf(x)dx.
Regla del Trapecio
Para comenzar, solo dos puntos (a, f(a)) y (b, f(b)) e interpolacion lineal re-sulta en b
a
f(x)dx b a2 (f(a) + f(b))
Esta es la regla del trapecio: aproxima la integral por medio del area bajo eltrapecio determinado por la interpolacion lineal.
Caso General
Para el caso general, es conveniente usar el metodo de interpolacion de La-grange. Para los puntos (x0, y0), . . . , (xn, yn), con yk = f(xk) el polinomio deinterpolacion esta dado por
pn(x) =n
k=0
yk Ln,k(x)
donde
Ln,k(x) =
j 6=k(x xj)j 6=k(xk xj)
IV.1
IV.2 CAPITULO IV. INTEGRACION NUMERICA
De esta representacion, integrando, obtenemos ba
f(x)dx ba
pn(x)dx
=
ba
(n
k=1
yk Ln,k(x))dx
=n
k=0
( ba
Ln,k(x)dx
)yk
=n
k=0
wkyk
donde
wk =
ba
Ln,k(x)dx.
Note que estos pesos wk dependen solo de los nodos, no de la funcion. La suma
Q[f ] =n
k=0
wkfk
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 quexk = a+ kh, k = 0, 1, 2.
Entonces los tres pesos w0, w1, w2 estan dados por
w0 = x2x0
(x x1)(x x2)(x0 x1)(x0 x2)dx =
2h0
(x h)(x 2h)(h)(2h) dx
=1
2h2
[x3
3 x
2
23h+ 2h2x
]2h0
=13h
w1 = x2x0
(x x0)(x x2)(x1 x0)(x1 x2)dx =
2h0
x(x 2h)(h)(h) dx =
1h2
[x3
3 x2h
]2h0
=43h
w2 = x2x0
(x x0)(x x1)(x2 x0)(x2 x1)dx =
2h0
x(x h)(2h)(h)
dx =1
2h2
[x3
3 x
2
2h
]2h0
=13h
(las segundas integrales se han obtenido por medio de una translacion). Unaforma alternativa de obtenerlos wk, que resulta mas facil de sistematizar paraobtener reglas de mas alto orden, es la siguiente. Primero, como la translacionde la integral arriba lo demuestra, podemos asumir que el intervalo de intereses [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 decuadratura deben ser exactas. As que para f(x) = xk, k = 0, 1, 2 se debe tenerque, para j = 0, 1, 2,
2k=0
wkxjk =
2h0
xjdx =
[xj+1
j + 1
]2h0
=(2h)j+1
j + 1
Estas tres ecuaciones explcitamente son
w0 +w1 +w2 = 2h+w1h +w2(2h) = 2h
2
+w1h2 +w2(2h)
2 = 83h3
y cancelando hsw0 +w1 +w2 = 2h
+w1 +2w2 = 2h+w1 +4w2 =
83h
La solucion es w0 = h/3, w1 = 4h/3 y w2 = h/3, igual a lo obtenido por mediode las integrales anteriormente. La cuadratura que se obtiene se llama la regla deSimpson: x2
x0
f(x)dx h3
(f0 + 4f1 + f2)
Solucion General
Generalizando, con xk = kh, k = 0, 1, . . . , n, obtenemos, para j = 0, 1, . . . , n,
nk=0
wkxjk =
nh0
xjdx =
[xj+1
j + 1
]nh0
=(nh)j+1
j + 1
y de aqu,n
k=0
wk(kh)j =
(nh)j+1
j + 1.
Cancelando hj y con wk = wk/h, se obtiene el sitema de ecuaciones
nk=0
wkkj =
nj+1
j + 1, para j = 0, 1, . . . , n,
que en forma expandida es1 1 1 10 1 2 n0 1 4 n2...
......
. . ....
0 1 2n nn
w0w1w2...wn
=
nn2
2n3
3...
nn+1
n+1
IV.4 CAPITULO IV. INTEGRACION NUMERICA
Note que la matriz de coeficientes es una matriz de Vandermonde. Podemos usarMatlab 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 1/2c =
1/3 4/3 1/3c =
3/8 9/8 9/8 3/8c =
14/45 64/45 8/15 64/45 14/45c =
95/288 125/96 125/144 125/144 125/96 95/288c =
41/140 54/35 27/140 68/35 27/140 54/35 41/140
Las dos primeras soluciones son las reglas del trapecio y de Simpson. Las dossiguientes se llaman reglas de Simpson de 3/8 y de Boole:
Regla de Simpson-3/8
x3x0
f(x)dx =3h
8(f0 + 3f1 + 3f2 + f3)
Regla de Boole
x4x0
f(x)dx =2h
45(7f0 + 32f1 + 12f2 + 32f3 + 7f4)
Ejemplo.
En este ejemplo deseamos aproximar ln 5 por medio de la integral 51dxx
. Lasgraficas muestran las interpolaciones de grados 1 a 4. Los resultados obtenidoscon Matlab muestran para cada valor de n, el valor de h y de la cuadratura, y unatabla con los valores del ndice k y xk, yk wk y wkyk. El valor de la cuadratura es,para cada n, la suma de la ultima columna (valores wkyk) multiplicada por h.
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 = 1h = 4cuad = 12/5[k x y w w*y] =
0 1 1 1/2 1/21 5 1/5 1/2 1/10
n = 2h = 2cuad = 76/45[k x y w w*y] =
0 1 1 1/3 1/31 3 1/3 4/3 4/92 5 1/5 1/3 1/15
n = 3h = 4/3cuad = 636/385[k x y w w*y] =
0 1 1 3/8 3/81 7/3 3/7 9/8 27/562 11/3 3/11 9/8 27/883 5 1/5 3/8 3/40
n = 4h = 1cuad = 364/225[k x y w w*y] =
IV.6 CAPITULO IV. INTEGRACION NUMERICA
0 1 1 14/45 14/451 2 1/2 64/45 32/452 3 1/3 8/15 8/453 4 1/4 64/45 16/454 5 1/5 14/45 14/225
n = 5h = 4/5cuad = 2083/1290[k x y w w*y] =
0 1 1 95/288 95/2881 9/5 5/9 125/96 625/8642 13/5 5/13 125/144 625/18723 17/5 5/17 125/144 625/24484 21/5 5/21 125/96 625/20165 5 1/5 95/288 19/288
n = 6h = 2/3cuad = 662/411[k x y w w*y] =
0 1 1 41/140 41/1401 5/3 3/5 54/35 162/1752 7/3 3/7 27/140 81/9803 3 1/3 68/35 68/1054 11/3 3/11 27/140 81/15405 13/3 3/13 54/35 162/4556 5 1/5 41/140 41/700
n = 7h = 4/7cuad = 2752/1709[k x y w w*y] =
0 1 1 1073/3527 1073/35271 11/7 7/11 810/559 509/5522 15/7 7/15 343/640 600/23993 19/7 7/19 649/536 1113/24954 23/7 7/23 649/536 646/17535 27/7 7/27 343/640 467/33616 31/7 7/31 810/559 551/16847 5 1/5 1073/3527 193/3172
n = 8h = 1/2cuad = 433/269[k x y w w*y] =
0 1 1 499/1788 499/17881 3/2 2/3 1183/712 1183/10682 2 1/2 -353/1348 -353/26963 5/2 2/5 388/131 776/6554 3 1/3 -1317/1028 -439/10285 7/2 2/7 388/131 765/9046 4 1/4 -353/1348 -353/53927 9/2 2/9 1183/712 1183/32048 5 1/5 499/1788 297/5321
Finalmente, la tabla siguiente muestra las cuadraturas y el error resultantes paran = 1, 2, . . . , 12.
IV.2. ERROR DE LAS REGLAS SIMPLES IV.7
n cuadratura error
1 2.400000000000000 0.7905620875659002 1.688888888888889 0.0794509764547883 1.651948051948052 0.0425101395139524 1.617777777777775 0.0083398653436755 1.614728626493345 0.0052907140592456 1.610704216419929 0.0012663039858297 1.610298283118095 0.0008603706839958 1.609665126452762 0.0002272140186619 1.609598154738391 0.00016024230429110 1.609482778174419 0.00004486574031811 1.609467583016121 0.00002967058202012 1.609424211461854 0.000013700972246
IV.2. Error de las Reglas Simples
Dada una cuadratura
Q[f ] =Mk=0
wkf(xk),
el error de truncamiento es
E[f ] =
ba
f(x)dxQ[f ]
IV.2.1. Grado de Precision
El grado de precision de una formula de cuadratura es el entero positivo n talque E[p] = 0 para todo polinomio p(x) de grado n pero E[pn+1] 6= 0 para algunpolinomio pn+1(x) de grado n + 1. Veamos el grado de precision de las reglassimples antes derivadas. En cada caso, obviamente, el grado de precision es almenos el grado de la interpolacion para el cual se derivo la regla.
Trapecio
Por una parte h0
x2dx =h3
3.
Por otra parte
QT [x2] =
h
2(0 + h2) =
h3
2
Puesto que estos dos resultados son diferentes, el grado de precision de la regladel trapecio es 1.
IV.8 CAPITULO IV. INTEGRACION NUMERICA
Simpson
Tenemos que 2h0x3dx = (2h)
4
4= 4h4 QS[x
3] = h3(0 + 4h3 + (2h)3) = 4h4 2h
0x4dx = (2h)
5
5= 32
5h5 QS[x
4] = h3(0 + 4h4 + (2h)4) = 20
3h5
As que el grado de la regla de Simpson es 3. Note que esto es uno mas de lo quepodamos esperar dado que se obtuvo con interpolacion cuadratica.
Simpson 3/8
Tenemos que 3h0x4dx = (3h)
5
5= 243
5h5; QS3/8[x
4] = 3h8
(0 + 3h4 + 3(2h)4 + (3h)4) = 992h5
As que el grado de la regla de Simpson 3/8 es 3.
Boole
Tenemos que 4h0x5dx = (4h)
6
6= 2048
3h6; QB[x
5] = 2h45
(7(0) + 32h5 + 12(2h)5 + 32(3h)5 + 7(4h)5)= 2048
3h6 4h
0x6dx = (4h)
7
7= 16384
7h7; QB[x
6] = 2h45
(7(0) + 32h6 + 12(2h)6 + 32(3h)6 + 7(4h)6)= 7040
3h7
As que el grado de la regla de Boole es 5. De nuevo uno mas de lo que se podraesperar 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 decuadratura anteriores. Sin embargo, procediendo de esta manera no se obtiene lamejor estimacion posible. Por ejemplo, para la regla de Simpson se obtendra queel error es proporcional a f (3)(c)h4 para algun c [x0, x2]. Pero hemos obtenidoque esta regla es exacta para polinomios de grado 3, y consistente con esto se puedederivar (aunque no lo hacemos aqu) que el error es proporcional a f (4)(c)h5 paraalgun c [x0, x2], como se enuncia en esta seccion.
Regla del Trapecio
x1x0
f(x)dx =h
2(f0 + f1) h
3
12f (2)(c) para algun c [x0, x1]
IV.2. ERROR DE LAS REGLAS SIMPLES IV.9
Prueba: El error de interpolacion lineal en x esta dado por
E1(x) = f(x) p1(x) = 12f (c(x))(x x0)(x x1)
para algun c(x) [x0, x1]. Entonces
ET [f ] =
x1x0
1
2f (c(x))(x x0)(x x1)dx
=1
2f (c)
x1x0
(x x0)(x x1)dx
=1
2f (c)
h0
x(x h)dx
=1
2f (c)
[1
3x3 1
2x2h
]h0
= 112f (c)h3
donde en la segunda lnea se ha usado el teorema del valor medio para integralescon una funcion de peso (la funcion f (c(x)) puede salir de la integral como f (c)donde c = c() para algun [x0, x1]).
Regla de Simpson x2x0
f(x)dx =h
3(f0 + 4f1 + f2) h
5
90f (4)(c) para algun c [x0, x2]
Regla de Simpson-3/8 x3x0
f(x)dx =3h
8(f0 + 3f1 + 3f2 + f3) 3h
5
80f (4)(c) para algun c [x0, x3]
Regla de Boole x4x0
f(x)dx =2h
45(7f0+32f1+12f2+32f3+7f4)8h
7
945f (6)(c) para algun c [x0, x4]
Ejemplo.
Consideramos de nuevo la aproximacion de ln 5 por medio de la integral 51dxx
.Se quiere determinar las cotas de error dadas teoricas de acuerdo a las formulasanteriores. Tenemos
f(x) =1
x; f (x) = 1
x2; f (x) = 2
x3; f (3)(x) = 6
x4
f (4)(x) = 24x5
; f (5)(x) = 120x6
; f (6)(x) = 720x7
IV.10 CAPITULO IV. INTEGRACION NUMERICA
Todas estas son decrecientes en valor absoluto y por lo tanto el maximo ocurre enx = 1, en cada caso. As que
|ET (1/x, [1, 5])| h3
12maxx[1,5]
|f (2)(x)| = 43
12 2 = 32
3= 10,666666
|ES(1/x, [1, 5])| h5
90maxx[1,5]
|f (4)(x)| = 25
90 24 = 384
45= 8,533333
|ES3/8(1/x, [1, 5])| 3h5
80maxx[1,5]
|f (4)(x)| = 3(4/3)5
80 24 = 512
135= 3,792592
|EB(1/x, [1, 5])| 8h7
945maxx[1,5]
|f (6)(x)| = 8945 720 = 128
21= 6,095238
Por otra parte, el valor exacto de la integral es ln 5 = 1,609437912434100 yel 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 > 1pero tomamos el maximo en x = 1 para la cota.
IV.3. Reglas Simples Abiertas
Las reglas anteriores son cerradas porque incluyen los extremos del intervalocomo nodos. En las reglas abiertas se omiten los extremos. Las siguientes son lasprimeras 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: x1
x1f(x)dx = 2hf(x0) +
1
3f (c)h3 x2
x1f(x)dx =
3h
2(f(x0) + f(x1)) +
3
4f (c)h3 x3
x1f(x)dx =
4h
3(2f(x0) f(x1) + 2f(x2)) + 14
45f (4)(c) x4
x1f(x)dx =
5h
24(11f(x0) + f(x1) + f(x2) + 11f(x0)) +
95
144f (4)(c)
IV.4. Reglas Compuestas
Como ocurre en interpolacion, en general se prefiere dividir el intervalo deintegracion en un numero de subintervalos y aplicar una regla simple de bajo ordenen cada uno de ellos. Las formulas resultantes se denominan reglas compuestas. Sea[a, b] el intervalo de integracion y M el numero de subintervalos. Para las reglasdel 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 simpledel trapecio en cada subintervalo [xk, xk+1] y se obtiene la regla compuesta
T (f, h) =h
2(f0 + 2f1 + 2f2 + 2f3 + + 2fM2 + 2fM1 + fM)
=h
2
(f0 +
M1k=1
fk + fM
)
ET (f, h) = (b a)f(2)(c)
12h2 = O(h2) para algun c [a, b]
Simpson (1/3)
Sea h = (b a)/2M y xk = a+ kh, k = 0, 1, . . . , 2M . Se aplica la regla simpledel trapecio en cada subintervalo [x2k, x2k+2] y se obtiene la regla compuesta
S(f, h) =h
3((f0 + 4f1 + f2) + (f2 + 4f3 + f4) + + (f2M2 + 4f2M1 + f2M))
=h
3(f0 + 4f1 + 2f2 + 4f3 + 2f4 + + 2f2M2 + 4f2M1 + f2M)
=h
3
(f(x0) + 2
M1k=1
f2k + 4M1k=0
f2k+1 + f2M
)
ES(f, h) = (b a)f(4)(c)
180h4 = O(h4) para algun c [a, b]
Boole
Sea h = (b a)/4M y xk = a+ kh, k = 0, 1, . . . , 4M . Se aplica la regla simpledel trapecio en cada subintervalo [x4k, x4k+4] y se obtiene la regla compuesta
B(f, h) =2h
45
M1k=0
(7f4k + 32f4k+1 + 12f4k+2 + 32f4k+3 + 7f4k+4)
=2h
45
(7f0 + 14
M1k=1
f4k + 32M1k=0
(f4k+1 + f4k+3) + 12M1k=0
f4k+2 + 7f4M
)EB(f, h) = O(h
6)
Ejemplo.
Se quiere aproximar la integral 50
exp(x2/2)dx por medio de (i) la reglacompuesta del trapecio con M = 10 y de (ii) la regla compuesta de Simpson con
IV.12 CAPITULO IV. INTEGRACION NUMERICA
2M = 10. Para cada caso, (iii) cual es la cota teorica de error ? (iv) cual debe serel 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 devalores
k xk fk0 0 1,000000001 0,5 0,882496902 1,0 0,606530653 1,5 0,324652464 2,0 0,135335285 2,5 0,043936936 3,0 0,011108997 3,5 0,002187498 4,0 0,000335469 4,5 0,00004006
10 5,0 0,00000372
Entonces
T (f, 0,5) =0,5
2(1 + 2 0,88249690 + 2 0,60653065 + 2 0,32465246
+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
(ii) Usando la misma tabla de valores, tenemos
S(f, 0,5) =0,5
3(1 + 4 0,88249690 + 2 0,60653065 + 4 0,32465246
+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
(iii) Para usar las cotas teoricas, obtenemos las derivadas de f(x):
f (0)(x) = exp(x2/2)f (1)(x) = (x) exp(x2/2)f (2)(x) = (1 + x2) exp(x2/2)f (3)(x) = (3x x3) exp(x2/2)f (4)(x) = (3 6x2 + x4) exp(x2/2)f (5)(x) = (15x+ 10x3 x5) exp(x2/2)
IV.4. REGLAS COMPUESTAS IV.13
Para la regla del trapecio
|ET (f, h)| (b a)h2
12maxx[0,5]
|f (2)(x)|
Para determinar el max de |f (2)(x)| en [1, 5], encontramos los puntos crticosde 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 (envalor 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
12 1 = 0,1042
Para la regla de Simpson
|ES(f, h)| (b a)h4
180maxx[0,5]
|f (4)(x)|
Similarmente, determinamos los puntos crticos
f (5)(x) = (15x+10x3x5) exp(x2/2) = 0 x = 0 o x2 = 5
10.
En el segundo caso se tiene x 1,3556, x 2,8570. Comparandof (4)(0) = 3
f (4)(1,3556) = 1,8549f (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
180 3 = 0,005208
(iv) Para la regla del trapecio M debe ser tal que
5(5/M)2
12 5 109
de donde
M 5
5
6104 = 45643,54
Entonces se necesita M = 45644. Para la regla del trapecio 2M debe ser talque
(5/2M)4
12 5 109
de donde
M 52 100
61/4= 159,73
Entonces se necesita M = 160.
IV.14 CAPITULO IV. INTEGRACION NUMERICA
Matlab
A continuacion las rutinas que implementan las reglas del trapecio y de Sim-pson compuestas.
function s = traprl (f, a, b, M)% Entrada - f es ei integrando introducido como cadena de caracteres f% - 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);
ends = 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 f% - 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 simpsonh = (b - a) / (2 * M);s1 = 0;s2 = 0;for k = 1:M
x = a + h * (2 * k - 1);s1 = s1 + feval(f, x);
endfor k = 1:(M-1)
x = a + h * 2 * k;s2 = s2 + feval(f, x);
ends = h * (feval(f, a) + feval(f, b) + 4 * s1 + 2 * s2) / 3;
IV.5. Reglas Recursivas y Metodo de Romberg
IV.5.1. Reglas Recursivas
Trapecio. Para k = 0, 1, 2, . . ., el intervalo [a, b] se subdivide en Mk = 2k subin-
tervalos de longitud hk = (b a)/2k, y T (k) es el valor de la regla del trapeciocompuesta 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 lasiguiente manera:
T0 =h
2(f(a) + f(b))
IV.5. REGLAS RECURSIVAS Y METODO DE ROMBERG IV.15
y para k 1
Tk =T (k 1)
2+ hk
Mk1j=1
fk,2j1.
Prueba. Se verifica teniendo en cuenta que Mk = 2Mk1 y que los nodos de Tk1son los nodos pares de Tk: es decir xk1,j = xk,2j, y por lo tanto fk1,j = fk,2j. Conesto, podemos escribir
Tk =hk2
(fk,0 + 2
Mk1j=1
fk,j + fk,Mk
)
=hk2
fk,0 + 2Mk21
j=1
fk,2j + fk,Mk
+ hkMk2
j=1
fk,2j1
=1
2
hk12
(fk1,0 + 2
Mk11j=1
fk1,j + fk1,Mk1
)+ hk
Mk1j=1
fk,2j1
=Tk1
2+ hk
Mk1j=1
fk,2j1.
Simpson. [a, b] se subdivide en 2k = 2M , k 1, subintervalos. Sk es el valorde la regla de Simpson compuesta con 2k subintervalos y hk = (b a)/2k. Con uncalculo como el anterior, se obtiene la relacion
Sk =4Tk Tk1
3para k = 1, 2, 3, . . .
Es decir, por medio de esta formula se obtiene la cuadratura de Simpson con errorO(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 laregla de Boole compuesta con 2k subintervalos y hk = (b a)/2k. De nuevo, conun calculo como el anterior, se obtiene la relacion
Bk =16Sk Sk1
15para k = 2, 3, . . .
As, se obtiene la cuadratura de Boole con error O(h6) a partir de la de Simpsoncon error O(h4).
Lo anterior es un ejemplo del metodo de Romberg el cual describimos a con-tinuacion.
IV.16 CAPITULO IV. INTEGRACION NUMERICA
IV.5.2. Metodo de Romberg
El metodo de Romberg se origina en la siguiente formula del error para la regadel trapecio:
ET (f, h) = a1h2 + a2h
4 + a3h6 +
Ya habamos visto que este error es O(h2); lo crucial aqu es que cuando se de-rivan los terminos de mas alto orden no aparecen potencias impares, y que loscoeficientes ai son independientes de h. As que b
a
f(x)dx = T (f, h) + a1h2 + a2h
4 + a3h6 +
Escribiendo la misma relacion para 2h se obtiene ba
f(x)dx = T (f, 2h) + 4a1h2 + 16a2h
4 + 64a3h6 +
Multiplicando por 4 la primera ecuacion y substrayendo la segunda se obtiene
(4 1) ba
f(x)dx = 4T (f, h) T (f, 2h) + (4 16)a2h4 + (4 64)a3h6 +
y ba
f(x)dx =4T (f, h) T (f, 2h)
4 1 + b2h4 + b3h
6
con b2 = (4 16)/(4 1), b3 = (4 64)/(4 1), etc. De esta forma se ha obtenidouna nueva cuadratura con error O(h4). De acuerdo con las formulas recursivasderivadas antes, esta nueva regla es simplemente la regla de Simpson, la cualsabemos tiene error O(h4). Se puede continuar de la misma manera obteniendoreglas de error cada vez menor (la siguiente es la regla de Boole).
Generalizando lo anterior, se obtiene el siguiente procedimiento iterativo paracalcular 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 =4j1Rk,j1 Rk1,j1
4j1 1
Esto corresponde a una tabla Rk,j calculada con las dependencias de la si-guiente manera:
IV.5. REGLAS RECURSIVAS Y METODO DE ROMBERG IV.17
Trapecio Simpson Boole
O(h2) O(h4) O(h6) O(h8) O(h10) O(h12)
R1,1
R2,1 R2,2
R3,1 R3,2 R3,3
R4,1 R4,2 R4,3 R4,4
R5,1 R5,2 R5,3 R5,4 R5,5
R6,1 R6,2 R6,3 R6,4 R6,5 R6,6...
Se tiene que
Rk,1 = Tk1 para k 1Rk,2 = Sk1 para k 2Rk,3 = Bk1 para k 3
Prueba. Veamos como se deduce la regla recursiva para Rk,j en general. Supon-
gamos que ya tenemos las reglas Rk,j1 y Rk1,j1 las cuales tienen error O(h2(j1)k )
y O(h2(j1)k1 ) respectivamente: b
a
f(x)dx = Rk,j1 + aj1h2(j1)k + ajh
2jk + b
a
f(x)dx = Rk1,j1 + aj1h2(j1)k1 + ajh
2jk1 +
Usado hk1 = 2hk, podemos reescribir la segunda ecuacion como ba
f(x)dx = Rk1,j1 + 22(j1)aj1h2(j1)k + 2
2jajh2jk
donde los puntos denotan terminos de mas alto orden. Multiplicando la primeraigualdad por 22(j1) = 4j1 y substrayendo la segunda se tiene que
(4j1 1) ba
f(x)dx =(4j1Rk,j1 Rk1,j1
)+ bjh
2jk +
donde bj = 3 4j1aj. As que ba
f(x)dx =4j1Rk,j1 Rk1,j1
4j1 1 + bjh2jk +
IV.18 CAPITULO IV. INTEGRACION NUMERICA
y por lo tanto podemos definir la cuadratura
Rk,j =4j1Rk,j1 Rk1,j1
4j1 1la cual tiene error O(h2jk ).
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 01.35984699 0.97979288 0 0 01.25331998 1.21781098 1.23367885 0 01.25331289 1.25331052 1.25567716 1.25602633 01.25331327 1.25331340 1.25331359 1.25327608 1.25326529
Q =1.25326529
err =0.00276105
h =0.31250000
Matlab
function [R, quad, err, h] = romber (f, a, b, n, tol)% Entrada - f es el integrando introducido como cadena de caracteres f% - 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 utilizadoM = 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);
endR(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);enderr = abs(R(J, J) - R(J+1, K+1));
endquad = R(J+1, J+1);
IV.6. CUADRATURA DE GAUSS-LEGENDRE IV.19
IV.6. Cuadratura de Gauss-Legendre
Las reglas que hemos estudiado hasta ahora tienen x0 = a y xn = b por lo cualse dice que son cerradas y los nodos estan distribuidos uniformemente. Existenreglas en las cuales esto no es cierto. En la cuadratura de Gauss-Legendre, con nnodos se logra grado de precision 2n 1. Los nodos que se usan son las races delpolinomio de Legendre de grado n.
Regla de Gauss-Legendre para dos Puntos. La regla de Gauss-Legendrepara dos puntos esta dada por 1
1f(x)dx G2(f) = f
(13
)+ f
(13
)con error
EG2(f) =f (4)(c)
135
para algun c [1, 1], asumiendo f C4[1, 1].Esta formula se puede derivar a partir de la forma
G2(f) = w1f(1) + w2f(2)
tratando de obtener una cuadratura con el mayor grado de precision posible. As,procedemos con los calculos: 1
1 1dx = 2 G2(1) = w1 + w2 11 xdx = 0 G2(x) = w11 + w22 11 x
2dx = 23
G2(x2) = w1
21 + w2
22 1
1 x3dx = 0 G2(x
3) = w131 + w2
32
De donde se obtienen las ecuaciones
w1 + w2 = 2
w11 + w22 = 0
w121 + w2
22 =
2
3w1
31 + w2
32 = 0
De la segunda ecuacion, se tiene w22 = w11. Reemplazando esto en la ultimaresulta en
w11(21 22) = 0
No puede ser que w1x1 = 0, por lo tanto 2 = 1. Esto en la segunda ecuacionda w1 = w2, y por lo tanto la primera ecuacion implica que
w1 = w2 = 1.
IV.20 CAPITULO IV. INTEGRACION NUMERICA
Finalmente, la tercera ecuacion implica que
1 = 2 = 13.
Los valores determinados corresponden a la expresion de G2 dada antes. El gradode precision es 3 porque 1
1 x4dx = 2
5G2(x
4) =( 1
3
)4+(
13
)4= 2
9
Ejemplo. Usamos la cuadratura G2 para aproximar ln 5 = 51dxx
. Primero debe-mos trasladar la integral al intervalo [1, 1] con el cambio de variable x = 2u+ 3: 5
1
dx
x=
11
2du
2u+ 3.
Entonces
ln 5 =
11
2du
2u+ 3 2
2(1/3) + 3+2
2(1/
3) + 3=
2 69 4/3 =
36
23= 1,565217
mientras que el valor exacto es 1,609437912
Regla de Gauss-Legendre para tres Puntos. La regla de Gauss-Legendrepara tres puntos esta dada por 1
1f(x)dx G3(f) = 1
9
(5f
(
3
5
)+ 8f(0) + 5f
(3
5
))con error
EG3(f) =f (6)(c)
15750
para algun c [1, 1], asumiendo f C6[1, 1].
Ejemplo. Usamos la cuadratura G3 para aproximar ln 5 = 51dxx
. Ya sabemos
ln 5 =
51
dx
x=
11
2du
2u+ 3.
Entonces
ln 5 19
(5
2
23/5 + 3 + 8 22 0 + 3 + 5 2+23/5 + 3)
=2
5(5 0,68927172 + 8 0,33333333 + 5 0,21981919)
=2
9(3,44635859 + 2,66666667 + 1,09909596)
= 1,60269360
IV.6. CUADRATURA DE GAUSS-LEGENDRE IV.21
IV.6.1. Polinomios de Legendre
Se puede usar el metodo anterior (coeficientes indeterminados) para obtenern nodos y coeficientes de tal manera que la cuadratura resultante tiene gradode precision 2n 1. Alternativamente, esos mismos nodos resultan ser las racesde los llamados polinomios de Legendre. En el intervalo [1, 1], el conjunto depolinomios forma un espacio vectorial con producto interior
P (x), Q(x) = +11
P (x)Q(x)dx
Se puede aplicar entonces el proceso de ortogonalizacion de Gram-Schmidt paraobtener una sucesion de polinomios ortogonales Pn(x), n = 0, 1, 2 . . .. Estos sonlos llamados polinomios de Legendre. Enunciamos el resultado que se obtiene.
Teorema IV.1 Los polinomios monicos de Legendre P0(x), P1(x), P2(x), . . . defi-nidos por la relacion de recurrencia
P0(x) = 1, P1(x) = x,
Pn+1(x) = xPn(x) n2
4n2 1Pn1(x)
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 combinacionlineal de P0(x), P1(x), . . . , Pn(x), es decir, existen numeros reales c0, . . . , cn(unicos) tal que
P (x) =ni=0
ciPi(x)
(iii) para todo m 6= n, Pn(x) y Pm(x) son ortogonales, es decir, +11
Pn(x)Pm(x)dx = 0
(iv) si Q(x) es de grado menor que n entonces +11
Pn(x)Q(x)dx = 0.
Como ejemplo, tenemos la siguiente tabla de los primeros polinomios y susraces:
IV.22 CAPITULO IV. INTEGRACION NUMERICA
n Pn(x) races0 11 x 0
2 x2 13
13
= 33
3 x3 35x 0,
35
=155
4 x4 67x+ 30
35
17
(3 2
65
)=
525703035
Note que las races de los polinomios de grado 2 y 3 son las mismas obtenidasantes usando el metodo de coeficientes indeterminados.
IV.6.2. Metodo de Gauss-Legendre
El metodo de Gauss-Legendre con n nodos para la integral +11 f(x)dx es la
cuadratura
Gn[f ] =ni=1
wif(xi)
donde x1, x2, . . . , xn son las n races de Pn(x), y los pesos wi son los correspondien-tes 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 interpolacionde Lagrange (un polinomio de grado n 1) esta dada por
I(x) =ni=1
f(xi) Ln1,i(x),
donde
Ln,i =j 6=i
x xjxi xj .
Entonces +11
I(x)dx =ni=1
f(xi)
+11
Ln1,i(x)dx,
y por lo tanto
wi =
+11
Ln1,i(x)dx.
Esto da un metodo para calcular los wi de la cuadratura. Equivalentemente, loswi se pueden obtener con el metodo de coeficientes indeterminados para los nodosx1, . . . , xn y los polinomios 1, x, x
2, . . . , xn1, de tal manera que la cuadratura esexacta para los polinomios 1, x, x2, . . . , xn1. Se obtienen las n ecuaciones, parak = 0, 1, 2, . . . , n 1, con las n incognitas w1, w2, . . . , wn:
ni=1
wi xki = +11
xkdx =1 (1)k+1
k + 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 degrado menor que 2n.
Prueba. Sea P (x) un polinomio de grado menor que 2n. Si el grado de P (x) esmenor que n entonces la cuadratura es exacta (por la construccion de los wi). SiP (x) tiene grado al menos n y menor que 2n, entonces tomando el cociente conPn(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 lotanto, por el caso ya considerado, la cuadratura para R es exacta, es decir +1
1R(x)dx = Gn[R].
Por otra parte +11
P (x)dx =
+11
Q(x)Pn(x)dx+
+11
R(x)dx =
+11
R(x)dx
porque +11 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 +1
1P (x)dx =
+11
R(x)dx = Gn[R] = Gn[P ].
Hemos obtenido que la cuadratura es exacta para P (x) donde P (x) es cualquierpolinomio de grado menor que 2n.
Finalmente, en general la integral de interes es sobre un intervalos [a, b]. Parasu evaluacion, se usa un cambio de variable
x =a(1 t) + b(1 + t)
2Con esto, b
a
f(x)dx =b a
2
+11
f
(a(1 t) + b(1 + t)
2
)dt
y por lo tanto la cuadratura de f en [a, b] con n nodos esta dada por
Gn[f ] =b a
2
ni=1
wi f(a(1 xi) + b(1 + xi)
2
)donde los xi son las races en [1, 1] como antes, y los coeficietes wi son los mismosque antes.
IV.24 CAPITULO IV. INTEGRACION NUMERICA
IV.6.3. Programa Matlab
El siguiente programa Matlab calcula las races del polinomio de Legendrenecesario y los coeficiente de la cuadratura. Por supuesto, si esta funcion se vaa usar repetidamente sera mas eficiente precalcular estos, tenerlos disponibles ysimplemente usarlos. El calculo de las races se basa en la observacion de que elpolinomio de Legendre Pn(x) es igual al polinomio caracterstico de la siguientematriz, llamada matriz de Jacobi:
0 1/3 0 0 0 0 0 0 0
1/3 0 2/
15 0 0 0 0 0 0
0 2/15 0 3/
35 0 0 0 0 0
0 0 3/35 0 4/
65 0 0 0 0
......
......
......
. . ....
......
0 0 0 0 0 0 n24(n2)21 0
n14(n1)21
0 0 0 0 0 0 0 n14(n1)21 0
Esto se puede comprobar de la ecuacion de recurrecia de los polinomios. La eva-luacon 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 f% - 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 IV.25
Ejemplo. Usamos la rutina para evaluar 50
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.1834346424956500.1834346424956500.5255324099163290.7966664774136270.960289856497536
nodos =0.0992753587561590.5083338064659331.1861689752091782.0414133937608752.9585866062391263.8138310247908224.4916661935340664.900724641243841
coefs =0.1012285362903750.2223810344533770.3137066458778840.3626837833783670.3626837833783580.3137066458778900.2223810344533730.101228536290377