From 3048c9d3f696bf20bc98cb96142dc1f192eb5c25 Mon Sep 17 00:00:00 2001 From: 732afbed1f51733fba4ec4ed0e9bd727 <732afbed1f51733fba4ec4ed0e9bd727@app-learninglab.inria.fr> Date: Fri, 6 Oct 2023 17:02:08 +0000 Subject: [PATCH] Update toy_document_orgmode_python_fr.org --- module2/exo1/toy_document_orgmode_python_fr.org | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/module2/exo1/toy_document_orgmode_python_fr.org b/module2/exo1/toy_document_orgmode_python_fr.org index e0275f3..8aafe61 100644 --- a/module2/exo1/toy_document_orgmode_python_fr.org +++ b/module2/exo1/toy_document_orgmode_python_fr.org @@ -13,20 +13,20 @@ * En demandant à la lib maths Mon ordinateur m'indique que $\pi$ vaut /approximativement/ -#+begin_src python :results output :session :exports both +#+begin_src python :results value :session *python*:exports both from math import * -print(pi) +pi #+end_src #+RESULTS: -: [1] 3.141593 +: [1] 3.141592653589793 * En utilisant la méthode des aiguilles de Buffon Mais calculé avec la *méthode* des [[https://fr.wikipedia.org/wiki/Aiguille_de_Buffon][aiguilles de Buffon]], on obtiendrait comme *approximation* : -#+begin_src python :results output :session :exports both +#+begin_src python :results value :session *python*:exports both import numpy as np np.random.seed(seed=42) N = 10000 @@ -35,7 +35,7 @@ theta = np.random.uniform(size=N, low=0, high=pi/2) 2/(sum((x+np.sin(theta))>1)/N) #+end_src #+RESULTS: -: [1] 3.14327 +: [1] 3.128911138923655 * Avec un argument "fréquentiel" de surface Sinon, une méthode plus simple à comprendre et ne faisant pas @@ -43,7 +43,7 @@ intervenir d'appel à la fonction sinus se base sur le fait que si $X\sim U(0,1)$ et $Y\sim U(0,1)$ alors $P[X^2+Y^2\leq 1] = \pi/4$ (voir [[https://fr.wikipedia.org/wiki/M%25C3%25A9thode_de_Monte-Carlo#D%25C3%25A9termination_de_la_valeur_de_%25CF%2580][méthode de Monte Carlo sur Wikipedia]]). Le code suivant illustre ce fait : -#+begin_src python :results output graphics :session :file figure_pi_mc1.png :exports both :width 600 :height 400 : +#+begin_src python :results output file :var matplot_lib_filename="file figure_pi_mc2.png :session *python* %matplotlib inline import matplotlib.pyplot as plt @@ -59,6 +59,8 @@ fig, ax = plt.subplots(1) ax.scatter(x[accept], y[accept], c='b', alpha=0.2, edgecolor=None) ax.scatter(x[reject], y[reject], c='r', alpha=0.2, edgecolor=None) ax.set_aspect('equal') +plt.savefig(matplot_lib_filename) +print(matplot_lib_filename) #+end_src #+RESULTS: [[file:figure_pi_mc1.png]] @@ -70,4 +72,4 @@ Il est alors aisé d'obtenir une approximation (pas terrible) de $\pi$ en compta 4*np.mean(accept) #+end_src #+RESULTS: -: [1] 3.156 \ No newline at end of file +: [1] 3.112 \ No newline at end of file -- 2.18.1