Sinon, une méthode plus simple à comprendre et ne faisant pas intervenir d'appel à la fonction sinus se basse sur le fait que si $$ X \sim U(0,1)$$ et $$ Y \sim U(0,1) $$ alors $$ P[ X^2 + Y^2 \leq 1 ] = \frac{\pi}{4} $$ ( voir [[https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Monte-Carlo#D%C3%A9termination_de_la_valeur_de_%CF%80][méthode de Monte Carlo sur Wikipedia]]). Le code suivant illustre ce fait :
Sinon, une méthode plus simple à comprendre et ne faisant pas intervenir d'appel à la fonction sinus se basse sur le fait que si $X \sim U(0,1)$ et $Y \sim U(0,1)$ alors $P[ X^2 + Y^2 \leq 1 ] = \frac{\pi}{4}$ ( voir [[https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Monte-Carlo#D%C3%A9termination_de_la_valeur_de_%CF%80][méthode de Monte Carlo sur Wikipedia]]). Le code suivant illustre ce fait :
#+begin_src python :results file :session :var matplot_lib_filename="./figure.png" :exports both
#+begin_src python :results file :session :var matplot_lib_filename="figure_pi_mc2.png" :exports both
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
np.random.seed(seed=42)
np.random.seed(seed=42)
...
@@ -142,9 +61,9 @@ print(matplot_lib_filename)
...
@@ -142,9 +61,9 @@ print(matplot_lib_filename)
#+end_src
#+end_src
#+RESULTS:
#+RESULTS:
[[file:figure.png]]
[[file:<matplotlib.collections.PathCollection object at 0x7fbf1828fb20>]]
Il est alors aisé d'obtenir une approximation (pas terrible) de \pi en comptant combien de fois, en moyenne, $$ X^2 + Y^2$$ est inférieur à 1 :
Il est alors aisé d'obtenir une approximation (pas terrible) de $pi$ en comptant combien de fois, en moyenne, $$ X^2 + Y^2$$ est inférieur à 1 :
#+begin_src python :results output :session :exports both
#+begin_src python :results output :session :exports both