Saltar al contenido principal
LibreTexts Español

3.4: Aproximación numérica de integrales múltiples

  • Page ID
    111223
  • \( \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}}\)

    Como has visto, calcular múltiples integrales es complicado incluso para funciones y regiones simples. Para funciones complicadas, puede que no sea posible evaluar una de las integrales iteradas en una forma simple cerrada. Por suerte existen métodos numéricos para aproximar el valor de una integral múltiple. El método que discutiremos se llama el método de Monte Carlo. La idea detrás de esto se basa en el concepto del valor promedio de una función, que aprendiste en el cálculo de una sola variable. Recordemos que para una función continua\(f (x)\), el valor promedio\(\bar f \text{ of }f\) a lo largo de un intervalo\([a,b]\) se define como

    \[\bar f = \dfrac{1}{b-a}\int_a^b f (x)\,dx \label{Eq3.11}\]

    La cantidad\(b − a\) es la longitud del intervalo\([a,b]\), que puede considerarse como el “volumen” del intervalo. Aplicando el mismo razonamiento a funciones de dos o tres variables, definimos el valor promedio de\(f (x, y)\) sobre una región\(R\) para ser

    \[\bar f = \dfrac{1}{A(R)} \iint\limits_R f (x, y)\,d A \label{Eq3.12}\]

    donde\(A(R)\) está el área de la región\(R\), y definimos el valor promedio de\(f (x, y, z)\) sobre un sólido\(S\) para ser

    \[\bar f = \dfrac{1}{V(S)} \iiint\limits_S f (x, y, z)\,dV \label{Eq3.13}\]

    donde\(V(S)\) está el volumen del sólido\(S\). Así, por ejemplo, tenemos

    \[\iint\limits_R f (x, y)\,d A = A(R) \bar f \label{Eq3.14}\]

    \(R\)Se puede pensar que el valor promedio de\(f (x, y)\) over representa la suma de todos los valores de\(f\) dividido por el número de puntos en\(R\). Desafortunadamente hay un número infinito (de hecho, incontablemente muchos) puntos en cualquier región, es decir, no se pueden enumerar en una secuencia discreta. Pero, ¿y si tomamos un número muy grande\(N\) de puntos aleatorios en la región\(R\) (que pueden ser generados por una computadora) y luego tomamos el promedio de los valores de\(f\) para esos puntos, y usamos ese promedio como el valor de\(\bar f\)? Esto es exactamente lo que hace el método de Montecarlo. Así que en Fórmula\ ref {Eq3.14} la aproximación que obtenemos es

    \[\iint\limits_R f (x, y)\,d A \approx A(R) \bar f \pm A(R) \sqrt{\dfrac{\bar {f^2}-(\bar f)^2}{N}}\label{Eq3.15}\]

    donde

    \[\bar f = \dfrac{\sum_{i=1}^{N}f(x_i,y_i)}{N}\text{ and } \bar {f^2} = \dfrac{\sum_{i=1}^{N}(f(x_i,y_i))^2}{N}\label{Eq3.16}\]

    con las sumas tomadas sobre los puntos\(N\) aleatorios\((x_1 , y_1), ..., (x_N , y_N )\). El\(\pm\) “término de error” en la Fórmula\ ref {Eq3.15} realmente no proporciona límites duros en la aproximación. Representa una única desviación estándar del valor esperado de la integral. Es decir, proporciona un probable límite en el error. Debido a su uso de puntos aleatorios, el método de Monte Carlo es un ejemplo de un método probabilístico (a diferencia de los métodos deterministas como el método de Newton, que utilizan una fórmula específica para generar puntos).

    Por ejemplo, podemos usar la Fórmula\ ref {Eq3.15} para aproximar el volumen\(V\) bajo el plano\(z = 8x + 6y\) sobre el rectángulo\(R = [0,1] \times [0,2]\). En el Ejemplo 3.1 de la Sección 3.1, mostramos que el volumen real es 20. A continuación se muestra un listado de código (montecarlo.java) para un programa Java que calcula el volumen, utilizando una serie de puntos\(N\) que se pasan en la línea de comandos como parámetro.


    alt

    Listado 3.1 Listado de programas para montecarlo.java

    A continuación se muestran los resultados de ejecutar este programa con varios números de puntos aleatorios (por ejemplo java montecarlo 100):

    alt

    Como se puede ver, la aproximación es bastante buena. Como\(N \to \infty\), se puede demostrar que la aproximación de Montecarlo converge al volumen real (en el orden de\(O( \sqrt{N})\), en terminología de complejidad computacional).

    En el ejemplo anterior la región\(R\) era un rectángulo. Para utilizar el método de Monte Carlo para una región no rectangular (acotada)\(R\), solo se necesita una ligera modificación. Elija un rectángulo\(\tilde R \text{ that encloses }R\) y genere puntos aleatorios en ese rectángulo como antes. Entonces usa esos puntos en el cálculo de\(\bar f\) sólo si están dentro\(R\). No es necesario calcular el área de\(R\) para Ecuación\ ref {Eq3.15} en este caso, ya que la exclusión de puntos no dentro\(R\) permite usar el área del rectángulo\(\tilde R\) en su lugar, similar a antes.

    Por ejemplo, en el Ejemplo 3.4 mostramos que el volumen bajo la superficie\(z = 8x + 6y\) sobre la región no rectangular\(R = {(x, y) : 0 ≤ x ≤ 1, 0 ≤ y ≤ 2x^2 }\) es 6.4. Desde el rectángulo\(\tilde R = [0,1] \times [0,2] \text{ contains }R\), podemos usar el mismo programa que antes, siendo el único cambio una comprobación para ver si\(y < 2x^2\) por un punto aleatorio\((x, y) \text{ in }[0,1] \times [0,2]\). El listado 3.2 a continuación contiene el código (montecarlo2.java):

    alt

    alt

    Listado 3.2 Listado de programas para montecarlo2.java

    A continuación se muestran los resultados de ejecutar el programa con varios números de puntos aleatorios (por ejemplo java montecarlo2 1000):

    alt

    Para utilizar el método de Monte Carlo para evaluar integrales triples, necesitará generar triples aleatorios\((x, y, z)\) en un paralelepípedo, en lugar de pares aleatorios\((x, y)\) en un rectángulo, y usar el volumen del paralelepípedo en lugar del área de un rectángulo en la Ecuación\ ref {Eq3.15} (ver Ejercicio 2). Para una discusión más detallada de los métodos de integración numérica, ver PRESS et al.

    Colaboradores y Atribuciones


    This page titled 3.4: Aproximación numérica de integrales múltiples is shared under a GNU Free Documentation License 1.3 license and was authored, remixed, and/or curated by Michael Corral.