Calculer la valeur de pi
Passons maintenant par un exemple classique : estimer la valeur de \(\pi\).
Imaginez un carré de côté \(2\) dont l’origine \((0, 0)\) est le centre, et dont les quatre coins 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, ajusté parfaitement à l’intérieur de ce carré. L’aire de ce cercle est \(\pi \times \text{rayon}^2 = \pi\).
Pour estimer \(\pi\), on échantillonne aléatoirement plusieurs points dans ce carré et l’on calcule la fraction de points à l’intérieur du cercle (\(x^2 + y^2 <= 1\)). L’aire du cercle est alors égale à \(4\) fois cette fraction, ce qui nous donne notre estimation de \(\pi\).
Après cet exercice, vous saurez utiliser la simulation pour effectuer des calculs.
Cet exercice fait partie du cours
<cours>Simulation statistique en Python</cours>Instructions de l’exercice
- Consultez la vraie valeur de \(\pi\) avec
np.pidans la console. Initialisezsimsà 10000 etcircle_pointsà 0. - Dans la boucle
for, générez un point (coordonnées x et y) avecnp.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 qui se trouvent 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))