5.8 Integração Numérica — Método de Monte Carlo
O Método de Monte Carlo é uma técnica heurística para avaliação ou estimação de problemas (geralmente intratáveis) usando simulação probabilística e amostragem. Um exemplo básico da utilização do Método de Monte Carlo é a integração de funções com uma variável. Isto é, a integral
pode ser aproximada por
onde todas são observações independentes de uma distribuição uniforme no intervalo . Assim, como a esperança , temos que a precisão aumenta com o aumento no número de amostras .
Implementação
def integral_monte_carlo(fun, xi, xe, n=1e6):
"""
Numerical integration using Tanh-sinh quadrature
integral = integral_monte_carlo(fun, xi, xe, n=1e5)
INPUT:
* fun: function to be integrated
* xi: beginning of integration interval
* xe: end of integration interval
* n: number of points used by Monte Carlo Method
return: \int_{xi}^{xe} f(x)
Author: Pedro Garcia [sawp@sawp.com.br]
see: http://www.sawp.com.br
License: Creative Commons
http://creativecommons.org/licenses/by-nc-nd/2.5/br/
Sep 2012
"""
(fmedio, i, n) = (0.0, 0, int(n))
while i < = n:
x = fabs(xe - xi) * random() + xi
fmedio += fun(x)
i += 1
fmedio /= n
integral = (xe - xi) * fmedio
return integral
Um exemplo de utilização dessa função pode ser obtido em http://sawp.com.br/code/integral/integral_monte_carlo.py.
Copyright
Este documento é disponível sob a licença Creative Commons. As regras dos direitos de cópia deste conteúdo estão acessíveis em http://creativecommons.org/licenses/by-nc-nd/2.5/br/.