repl.it
@egouello/

Monte Carlo

Python

No description

fork
loading
Files
  • main.py
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import random
import math

# la fonction dont on cherche l’aire sous la courbe
def f(x):
  return math.sqrt(1-x**2)

#La méthode de MonteCarlo appliquée à n points
def MonteCarlo(n):
  compteur=0
  #on tire n points au hasard dont l’abscisse est entre 0 et 1
  for i in range(n):
    abs=random.random()
    ord=random.random()
    #on compte si le point est sous la courbe
    if f(abs)>ord:
      compteur+=1
  #compteur/n est la proportion des points sous la courbe, puis on multiplie par 4 car l’intégrale est pi/4
  return 4*compteur/n
  
#on appelle la fonction avec n=10000
print(MonteCarlo(10000))