Montecarlo
O que é o Monte Carlo?
O método de Monte Carlo consiste em simular eventos aleatórios computacionalmente, ele é especialmente útil para casos que uma resposta analítica nem sempre é conhecida. Nessa biblioteca ele é usado para 'repetir' várias vezes o mesmo experimento do laboratório e encontrar a gama de diferentes respostas esperadas, com essa distribuição é possível calcular uma média e um desvio padrão da Medida
def montecarlo(func : callable, *parametros : list[Medida]): -> Medida
Propagação de erros usando Monte Carlo
Calcula a média e desvio padrão da densidade de probabilidade de uma função com variáveis gaussianas, também armazena o histograma inteiro dentro de uma Medida
Globals
num_montecarlo : Quantidade de números aleatórios usados (Default=10.000) pode ser alterado globalmente usando num_montecarlo(valor)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
func |
callable
|
função para a propagação do erro |
required |
parametros |
list[Medida]
|
parâmetros da função definida acima |
()
|
Returns:
Name | Type | Description |
---|---|---|
Resultado |
Medida
|
Medida com , e histograma |
Source code in LabIFSC2/medida.py
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
Exemplos
import LabIFSC2 as lab
import numpy as np
x=lab.Medida(3,1e-3)
y=lab.Medida(5,2e-3)
func=lambda x,y: np.sin(x*y)
montecarlo(func,x,y) #(-0.65 ± 0.01)
#Que é o mesmo que fazer
sin(x*y) #(-0.65 ± 0.01)