Partage
  • Partager sur Facebook
  • Partager sur Twitter

Méthode de Monte-Carlo pour approximer pi

29 octobre 2023 à 19:17:42

Bonsoir, j'essaie d'appliquer la méthode de Monte-Carlo (pour obtenir une valeur approchée de pi) en Python mais je suis un peu surpris des résultats que j'ai obtenu car il me semblait qu'avec 539 354 tirages de points, j'étais censé obtenir une valeur approchée de pi à 10^-2 près. Mais j'obtiens une bien meilleure précision et je me demande donc si j'ai fait une erreur quelque part dans mon code ou s'il faut effectivement moins de tirages pour obtenir une précision d'un centième...

Voici mon code Python :

from random import random, choice
from math import pi
import numpy
from numpy.random import rand


def simulX():
    x, y = random(), random()
    return int(x**2+y**2<=1)

def calculer_Sn(n=1000):
    x = rand(n)
    y = rand(n)
    return numpy.sum(x**2+y**2<=1)

def calculer_Pn(n=1000):
    return 4*calculer_Sn(n)/n

def approxpi():
    return calculer_Pn(539354)

#Sur 1000 essais, on obtient, a priori, en moyenne, un écart à pi très largement inférieur 10^-2
print(sum(abs(approxpi()-pi) for x in range(1000))/1000)


Merci par avance pour vos réponses,

Bonne soirée.

  • Partager sur Facebook
  • Partager sur Twitter
29 octobre 2023 à 21:06:00

Bonjour,

Doublon

Les doublons nuisent au bon fonctionnement du forum et sont donc interdits. Si vous vous êtes trompé de section, il suffit de signaler votre sujet au staff pour qu'il le déplace au bon endroit.

Je vous invite à continuer la discussion sur l'autre sujet :  https://openclassrooms.com/forum/sujet/methode-de-monte-carlo-pour-approximer-pi-7a980

Je ferme ce sujet. 

  • Partager sur Facebook
  • Partager sur Twitter