Saltar al contenido principal
LibreTexts Español

C.3: Cuadratura Adaptativa

  • Page ID
    119267
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    La extrapolación de Richardson también se utiliza para elegir el tamaño de paso para lograr cierto grado de precisión deseado. “Cuadratura adaptativa” se refiere a una familia de algoritmos que utilizan tamaños de paso pequeños en la parte del dominio de integración donde es difícil obtener una buena precisión y grandes tamaños de paso en la parte del dominio de integración donde es fácil obtener una buena precisión.

    Ilustraremos la idea usando la regla de Simpson aplicada a la integral\(\int_a^b f(x)\ \, d{x}\text{,}\) y asumiendo que queremos que el error no sea más de (aproximadamente) alguna constante fija\(\varepsilon\text{.}\) Por ejemplo,\(\varepsilon\) podría ser\(10^{-6}\text{.}\) Denotar por\(S(a',b'\,;\,h')\text{,}\) la respuesta dada cuando la regla de Simpson se aplica a la integral\(\int_{a'}^{b'} f(x)\ \, d{x}\) con tamaño de paso\(h'\text{.}\)

    • Paso 1. Comenzamos aplicando la regla de Simpson, combinada con la extrapolación de Richardson para obtener una estimación de error, con el tamaño de paso más grande posible\(h\text{.}\) Es decir, establecer\(h=\tfrac{b-a}{2}\) y calcular

      \[ f(a)\quad f\big(a+\tfrac{h}{2}\big)\quad f(a+h)=f\big(\tfrac{a+b}{2}\big)\quad f\big(a+\tfrac{3h}{2}\big)\quad f(a+2h)=f(b) \nonumber \]

      Entonces

      \[ S\big(a,b\,;h\big) =\tfrac{h}{3}\big\{f(a)+4 f\big(a+h\big)+f(b)\big\} \nonumber \]

      y

      \ begin {alinear*} S\ grande (a, b\,;\ tfrac {h} {2}\ grande) &=\ tfrac {h} {6}\ grande\ {f (a) +4 f\ grande (a+\ tfrac {h} {2}\ grande) +2f\ grande (\ tfrac {a+b} {2}\ grande) +4 f\ grande (a+\ tfrac {3h} {2}\ grande) +f (b)\ grande\}\ &=S\ grande (a,\ tfrac {a+b} {2}\,;\ tfrac {h} {2}\ grande) +S\ grande (\ tfrac {a+b} {2}, b\,;\ tfrac {h} {2}\ grande)\ end {align*}

      con

      \ begin {alinear*} S\ grande (a,\ tfrac {a+b} {2}\,;\,\ tfrac {h} {2}\ grande) &=\ tfrac {h} {6}\ grande\ {f (a) +4 f\ grande (a+\ tfrac {h} {2}\ grande) +f\ grande (\ tfrac {a+b} 2}\ grande)\ grande\}\ S\ grande (\ tfrac {a+b} {2}, b\,;\,\ tfrac {h} {2}\ grande) &=\ tfrac {h} {6}\ grande\ {f\ grande (\ tfrac {a+b} {2}\ grande) +4 f\ grande (a+\ tfrac {3h} 2}\ grande) +f (b)\ grande\}\ final {alinear*}

      El uso de la fórmula de extrapolación de Richardson (E4a) con\(k=4\) da que el error en\(S\big(a,b\,;\,\tfrac{h}{2}\big)\) es (aproximadamente)

      \[ \big|K\big(\tfrac{h}{2}\big)^4\big|=\tfrac{1}{15}\Big| S\big(a,b\,;\,\tfrac{h}{2}\big) -S\big(a,b\,;\,h\big)\Big| \tag{E7} \nonumber \]

      Si esto es más pequeño de\(\varepsilon\text{,}\) lo que tenemos (aproximadamente) la precisión deseada y el tope 1 Es muy común construir en un poco de margen de seguridad y requerir que, por ejemplo,\(\big|K\big(\tfrac{h}{2}\big)^4\big|\) be smaller than \(\tfrac{\varepsilon}{2}\) rather than \(\varepsilon\text{.}\).
    • Paso 2. Si (E7) es mayor que\(\varepsilon\text{,}\) dividimos la integral original\(I=\int_a^b f(x)\,\, d{x}\) en dos integrales “de tamaño medio”,\(I_1=\int_a^{\tfrac{a+b}{2}} f(x)\,\, d{x}\)\(I_2=\int_{\tfrac{a+b}{2}}^b f(x)\,\, d{x}\) y repetimos el procedimiento del Paso 1 en cada una de ellas, pero con\(h\) reemplazada por\(\tfrac{h}{2}\) y\(\varepsilon\) reemplazada por\(\tfrac{\varepsilon}{2}\) — si podemos encontrar una aproximación,\(\tilde I_1\text{,}\) a\(I_1\) con un error menor que\(\tfrac{\varepsilon}{2}\) y una aproximación,\(\tilde I_2\text{,}\) a\(I_2\) con un error menor que\(\tfrac{\varepsilon}{2}\text{,}\) entonces se\(\tilde I_1+\tilde I_2\) aproxima\(I\) con un error menor que\(\varepsilon\text{.}\) Aquí hay más detalle.
      • Si el error en la aproximación\(\tilde I_1\) a\(I_1\) y el error en la aproximación\(\tilde I_2\) a\(I_2\) son ambos aceptables, entonces usamos\(\tilde I_1\) como nuestra aproximación final a\(I_1\) y usamos\(\tilde I_2\) como nuestra aproximación final a\(I_2\text{.}\)
      • Si el error en la aproximación\(\tilde I_1\) a\(I_1\) es aceptable pero el error en la aproximación\(\tilde I_2\) a no\(I_2\) es aceptable, entonces usamos\(\tilde I_1\) como nuestra aproximación final a\(I_1\) pero subdividimos la integral\(I_2\text{.}\)
      • Si el error en la aproximación\(\tilde I_1\) a no\(I_1\) es aceptable pero el error en la aproximación\(\tilde I_2\) a\(I_2\) es aceptable, entonces usamos\(\tilde I_2\) como nuestra aproximación final a\(I_2\) pero subdividimos la integral\(I_1\text{.}\)
      • Si el error en la aproximación\(\tilde I_1\) a\(I_1\) y el error en la aproximación\(\tilde I_2\) a no\(I_2\) son ambos aceptables, entonces subdividimos ambas integrales\(I_1\) y\(I_2\text{.}\)

      Así que adaptamos el tamaño del paso a medida que avanzamos.

    • Pasos 3, 4, 5,\(\cdots\) Repita según sea necesario.
    Ejemplo C.3.1 Cuadratura adaptativa

    Apliquemos cuadratura adaptativa usando la regla de Simpson como la anterior con el objetivo de computar\(\int _0^1\sqrt{x}\ \, d{x}\) con un error de a lo sumo\(\varepsilon=0.0005=5\times 10^{-4}\text{.}\) Observe\(\frac{d}{dx}\sqrt{x}=\frac{1}{2\sqrt{x}}\) que estalla como\(x\) tiende a cero. El integrando cambia muy rápidamente cuando\(x\) es pequeño. Así que probablemente necesitaremos hacer que el tamaño del paso sea pequeño cerca del límite de integración\(x=0\text{.}\)

    • Paso 1 — el intervalo\([0,1]\text{.}\) (La notación\([0,1]\) representa el intervalo\(0\le x\le 1\text{.}\))

      \ begin {alinear*} S (0,1\,;\ tfrac {1} {2}) &= 0.63807119\\ S (0,\ tfrac {1} {2}\,;\ tfrac {1} {4}) &= 0.22559223\\ S (\ tfrac {1} {2} ,1\,;\ tfrac {1} {4}) &= 0.43093403\\\ text {error} &=\ tfrac {1} {15}\ izquierda|S (0,\ tfrac {1} {2}\,;\ tfrac {1} {4}) +S (\ tfrac {1} {2} ,1\,;\ tfrac {1} {4}) -S (0,1\,;\ tfrac ac {1} {2})\ derecha| =0.0012\\ &\ gt\ varepsilon =0.0005\ end {align*}

      Esto es inaceptablemente grande, por lo que subdividimos el intervalo\([0,1]\) en las dos mitades\(\big[0,\tfrac{1}{2}\big]\) y\(\big[\tfrac{1}{2},1\big]\) y aplicamos el procedimiento por separado a cada mitad.
    • Paso 2a — el intervalo\([0,\half]\text{.}\)

      \ begin {alinear*} S (0,\ tfrac {1} {2}\,;\ tfrac {1} {4}) &= 0.22559223\\ S (0,\ tfrac {1} {4}\,;\ tfrac {1} {8}) &= 0.07975890\\ S (\ tfrac {1} {4},\ tfrac {1},\ tfrac {1} {4},\ tfrac {1},\ tfrac {{1} {2}\,;\ tfrac {1} {8}) &= 0.15235819\\\ text {error} &=\ tfrac {1} {15}\ izquierda|s (0,\ tfrac {1} {4}\,;\ tfrac {1} {8}) +S (\ tfrac {1} {4},\ tfrac {1} {2}\,;\ tfrac {1} {8}) -S (0,\ tfrac {1} {2}\,;\ tfrac {1} {4})\ derecha| = 0.00043\\ &\ gt\ tfrac {\ varepsilon} {2} = 0.00025\ final {alinear*}

      Este error es inaceptablemente grande.
    • Paso 2b — el intervalo\([\tfrac{1}{2},1]\text{.}\)

      \ begin {alinear*} S (\ tfrac {1} {2} ,1\,;\ tfrac {1} {4}) &= 0.43093403\\ S (\ tfrac {1} {2},\ tfrac {3} {4}\,;\ tfrac {1} {8}) &= 0.19730874\\ S (\ tfrac {3}} {4} ,1\,;\ tfrac {1} {8}) &= 0.23365345\\\ text {error} &=\ tfrac {1} {15}\ izquierda|s (\ tfrac {1} {2},\ tfrac {3} {4}\,;\ tfrac {1} {8}) +S (\ tfrac {3} {4}\,;\ tfrac {1} {8}) +S (\ tfrac {3} {4} ,1\,;\ tfrac {1} {8}) -S (\ tfrac {1} {2 } ,1\,;\ tfrac {1} {4})\ derecha| = 0.0000019\\ &\ lt\ tfrac {\ varepsilon} {2} = 0.00025\ final {alinear*}

      Este error es aceptable.
    • Paso 2 currículum. El error para el intervalo\([\tfrac{1}{2},1]\) es lo suficientemente pequeño, así que aceptamos

      \[ S(\tfrac{1}{2},1\,;\tfrac{1}{8}) = S(\tfrac{1}{2},\tfrac{3}{4}\,;\tfrac{1}{8}) + S(\tfrac{3}{4},1\,;\tfrac{1}{8}) = 0.43096219 \nonumber \]

      como el valor aproximado de\(\int_{1/2}^1\sqrt{x}\,\, d{x}\text{.}\)

      El error para el intervalo\([0,\tfrac{1}{2}]\) es inaceptablemente grande, por lo que subdividimos el intervalo\([0,\tfrac{1}{2}]\) en las dos mitades\([0,\tfrac{1}{4}]\)\([\tfrac{1}{4},\tfrac{1}{2}]\) y aplicamos el procedimiento por separado a cada mitad.

    • Paso 3a — el intervalo\([0,\tfrac{1}{4}]\text{.}\)

      \ begin {alinear*} S (0,\ tfrac {1} {4}\,;\ tfrac {1} {8}) &= 0.07975890\\ S (0,\ tfrac {1} {8}\,;\ tfrac {1} {16}) &= 0.02819903\\ S (\ tfrac {1} {8},\ tfrac {1},\ tfrac {1} {8},\ tfrac {1},\ tfrac {{1} {4}\,;\ tfrac {1} {16}) &= 0.05386675\\\ text {error} &=\ tfrac {1} {15}\ izquierda|s (0,\ tfrac {1} {8}\,;\ tfrac {1} {16}) +S (\ tfrac {1} {8},\ tfrac {1} {4}\,;\ tfrac {1} {16}) -S (0,\ tfrac {1} {4}\,;\ tfrac {1} {8})\ derecha|\\ &= 0.000153792 >\ tfrac {\ varepsilon} {4} = 0.000125\ final {alinear*}

      Este error es inaceptablemente grande.
    • Paso 3b — el intervalo\([\tfrac{1}{4},\tfrac{1}{2}]\text{.}\)

      \ begin {alinear*} S (\ tfrac {1} {4},\ tfrac {1} {2}\,;\ tfrac {1} {8}) &= 0.15235819\\ S (\ tfrac {1} {4},\ tfrac {3} {8}\,;\ tfrac {1} {16}) &= 0.06977 5918\\ S (\ tfrac {3} {8},\ tfrac {1} {2}\,;\ tfrac {1} {16}) &= 0.08260897\\ texto {error} &=\ tfrac {1} {15}\ izquierda|s (\ tfrac {1} {4},\ tfrac {3} {8}\,;\ tfrac {1} {16}) +S (\ tfrac {3} {8},\ tfrac { 1} {2}\,;\ tfrac {1} {16}) -S (\ tfrac {1} {4},\ tfrac {1} {2}\,;\ tfrac {1} {8})\ derecha|\\ & = 0.00000066\ lt\ tfrac {\ varepsilon} {4} = 0.000125\ end {align*}

      Este error es aceptable.
    • Paso 3 currículum. El error para el intervalo\([\tfrac{1}{4},\tfrac{1}{2}]\) es lo suficientemente pequeño, así que aceptamos

      \[ S(\tfrac{1}{4},\tfrac{1}{2}\,;\tfrac{1}{16}) = S(\tfrac{1}{4},\tfrac{3}{8}\,;\tfrac{1}{16}) + S(\tfrac{3}{8},\tfrac{1}{2}\,;\tfrac{1}{16}) = 0.15236814 \nonumber \]

      como el valor aproximado de\(\int_{1/4}^{1/2}\sqrt{x}\,\, d{x}\text{.}\)

      El error para el intervalo\([0,\tfrac{1}{4}]\) es inaceptablemente grande, por lo que subdividimos el intervalo\([0,\tfrac{1}{4}]\) en las dos mitades\([0,\tfrac{1}{8}]\)\([\tfrac{1}{8},\tfrac{1}{4}]\) y aplicamos el procedimiento por separado a cada mitad.

    • Paso 4a — el intervalo\([0,\tfrac{1}{8}]\text{.}\)

      \ begin {alinear*} S (0,\ tfrac {1} {8}\,;\ tfrac {1} {16}) &= 0.02819903\\ S (0,\ tfrac {1} {16}\,;\ tfrac {1} {32}) &= 0.00996986\\ S (\ tfrac {1} {16},\ tfrac {1} {8}\,;\ tfrac {1} {32}) &= 0.01904477\\\ text {error} &=\ tfrac {1} {15}\ izquierda|s (0,\ tfrac {1} {16}\,;\ tfrac {1} {32}) +S (\ tfrac {1} {16},\ tfrac {1},\ tfrac {1} {16},\ tfrac {1},\ tfrac {1} frac {1} {8}\,;\ tfrac {1} {32}) -S (0, \ tfrac {1} {8}\,;\ tfrac {1} {16})\ derecha|\\ & = 0.000054\ lt\ tfrac {\ varepsilon} {8} = 0.0000625\ end {alinear*}

      Este error es aceptable.
    • Paso 4b — el intervalo\([\tfrac{1}{8},\tfrac{1}{4}]\text{.}\)

      \ begin {alinear*} S (\ tfrac {1} {8},\ tfrac {1} {4}\,;\ tfrac {1} {16}) &= 0.05386675\\ S (\ tfrac {1} {8},\ tfrac {3} {16}\,;\ tfrac {1} {32}) &= 0.02466 359\\ S (\ tfrac {3} {16},\ tfrac {1} {4}\,;\ tfrac {1} {32}) &= 0.02920668\\ text {error} &=\ tfrac {1} {15}\ izquierda|S (\ tfrac {1} {8},\ tfrac {3} {16}\,;\ tfrac {1} {32}) +S (\ tfrac {3} {6},\ tfrac {1} {4}\,;\ tfrac {1} {32}) -S (\ tfrac {1} {8},\ tfrac {1} {4}\,;\ tfrac {1} {16})\ derecha|\\ & = 0.00000024\ lt\ tfrac {\ varepsilon} {8} = 0.0000625\ fin alinear*}

      Este error es aceptable.
    • Paso 4 currículum. El error para el intervalo\([0,\tfrac{1}{8}]\) es lo suficientemente pequeño, así que aceptamos

      \[ S(0,\tfrac{1}{8}\,;\tfrac{1}{32}) = S(0,\tfrac{1}{16}\,;\tfrac{1}{32}) + S(\tfrac{1}{16},\tfrac{1}{8}\,;\tfrac{1}{32}) = 0.02901464 \nonumber \]

      como el valor aproximado de\(\int_0^{1/8}\sqrt{x}\,\, d{x}\text{.}\)

      El error para el intervalo\([\tfrac{1}{8},\tfrac{1}{4}]\) es lo suficientemente pequeño, así que aceptamos

      \[ S(\tfrac{1}{8},\tfrac{1}{4}\,;\tfrac{1}{32}) = S(\tfrac{1}{8},\tfrac{3}{16}\,;\tfrac{1}{32}) + S(\tfrac{3}{16},\tfrac{1}{4}\,;\tfrac{1}{32}) = 0.05387027 \nonumber \]

      como el valor aproximado de\(\int_{1/8}^{1/4}\sqrt{x}\,\, d{x}\text{.}\)

    • Conclusión. El valor aproximado para\(\int_0^1\sqrt{x}\ \, d{x}\) es

      \ begin {alinear*} & S (0,\ tfrac {1} {8}\,;\ tfrac {1} {32}) +S (\ tfrac {1} {8},\ tfrac {1} {4}\,;\ tfrac {1} {32}) +S (\ tfrac {1} {4},\ tfrac {1},\ tfrac {1} {2}\,;\ tfrac {1} {16}) +S (\ tfrac {1} {2} ,1\,;\ tfrac {1} {8})\\ &\ hskip1in =0.66621525\ tag {E8}\ end {align*}

    Por supuesto, el valor exacto de\(\int_0^1\sqrt{x}\ \, d{x}=\tfrac{2}{3}\text{,}\) por lo que el error real en nuestra aproximación es

    \[ \tfrac{2}{3}-0.66621525 = 0.00045 \lt \varepsilon = 0.0005 \nonumber \]

    Esto es lo que nos da la regla de Simpson cuando se aplica con algunos tamaños de paso fijos.

    \ begin {alinear*} S (0,1\,;\ tfrac {1} {8}) &= 0.66307928\\ S (0,1\,;\ tfrac {1} {16}) &= 0.66539819\\ S (0,1\,;\ tfrac {1} {32}) &= 0.66621818\\ S (0,1\,;\ tfrac {1} {32}) &= 0.66621818\\ S (0,1\,;\ tfrac {1} ac {1} {64}) &= 0.66650810\ end {align*}

    Entonces, para obtener un error comparable al de (E8) de la regla de Simpson con un tamaño de paso fijo, necesitamos usar\(h=\frac{1}{32}\text{.}\) In (E8) el tamaño del\(h=\frac{1}{32}\) paso solo se usó en el subintervalo\(\big[0,\frac{1}{4}\big]\text{.}\)


    This page titled C.3: Cuadratura Adaptativa is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Joel Feldman, Andrew Rechnitzer and Elyse Yeager via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.