Calcul de la valeur de pi
Passons maintenant à un exemple classique : estimer la valeur de \(\pi\).
Imaginez un carré de côté \(2\) dont l'origine \((0, 0)\) est au centre et dont les quatre sommets ont pour coordonnées \((1, 1), (1, -1), (-1, 1), (-1, -1)\). L'aire de ce carré est \(2\times 2 = 4\). Imaginez ensuite un cercle de rayon \(1\), centré à l'origine, qui s'inscrit parfaitement dans ce carré. L'aire du cercle est alors \(\pi \times \text{rayon}^2 = \pi\).
Pour estimer \(\pi\), on échantillonne au hasard plusieurs points dans ce carré et on calcule la fraction de points à l'intérieur du cercle (\(x^2 + y^2 <= 1\)). L'aire du cercle est alors \(4\) fois cette fraction, ce qui nous donne notre estimation de \(\pi\).
Après cet exercice, vous saurez comment utiliser la simulation pour effectuer des calculs.
Cette activité fait partie du cours
Simulation statistique en Python
Instructions de l’exercice
- Consultez la valeur réelle de \(\pi\) dans la console avec
np.pi. Initialisezsimsà 10000 etcircle_pointsà 0. - Dans la boucle
for, générez un point (coordonnées x et y) à l'aide denp.random.uniform()entre -1 et 1, avecsize=2. - Vérifiez si le point se trouve dans le cercle unité avec l'équation \(x^2 + y^2 <= 1\), affectez le résultat à
within_circle, puis incrémentezcircle_pointsen conséquence. - Affichez l'estimation de $\pi
pi_sim` comme 4 fois la fraction de points situés dans le cercle.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Initialize sims and circle_points
sims, circle_points = ____, ____
for i in range(sims):
# Generate the two coordinates of a point
point = ____
# if the point lies within the unit circle, increment counter
within_circle = point[0]**2 + point[1]**2 <= 1
if ____ == True:
circle_points +=1
# Estimate pi as 4 times the avg number of points in the circle.
pi_sim = ____
print("Simulated value of pi = {}".format(pi_sim))