25
Cap´ ıtulo IV Integraci´ on Num´ erica IV.1. Cuadraturas: Reglas Simples La f´ormulas de cuadratura o reglas simples se obtienen por medio de interpo- laci´ on polinomial: la funci´ on a integrar se “muestrea”, es decir, se toman puntos de la funci´ on (x 0 ,y 0 ), (x 1 ,y 1 ),..., (x n ,y n ) donde y k = f (x k ) para k =0,...,n, se determina el polinomio interpolante p n (x) de grado a lo m´as n para esos puntos, y finalmente se integra. Intuitivamente, si p n (x) es una buena aproximaci´ on de f (x), entonces su integral R b a p n (x)dx debe ser una buena aproximaci´ on de R b a f (x)dx. Regla del Trapecio Para comenzar, s´ olo dos puntos (a, f (a)) y (b, f (b)) e interpolaci´ on lineal re- sulta en Z b a f (x)dx b - a 2 · (f (a)+ f (b)) Esta es la regla del trapecio: aproxima la integral por medio del ´area bajo el trapecio determinado por la interpolaci´on lineal. Caso General Para el caso general, es conveniente usar el m´ etodo de interpolaci´ on de La- grange. Para los puntos (x 0 ,y 0 ),..., (x n ,y n ), con y k = f (x k ) el polinomio de interpolaci´ on est´ a dado por p n (x)= n X k=0 y k · L n,k (x) donde L n,k (x)= Q j 6=k (x - x j ) Q j 6=k (x k - x j ) IV.1

Integra c i on Gaussian A

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