Commit bf9473d8 authored by Lana Scravaglieri's avatar Lana Scravaglieri

Fix latex expression, style and python blocks evalution to get results

parent 86ebb2a8
#+TITLE: À propos du calcul de π #+TITLE: À propos du calcul de $pi$
#+LANGUAGE: fr
#+AUTHOR: Konrad Hinsen
#+DATE: 2019-03-28 Thu 11:06
#+LANGUAGE: en
#+PROPERTY: header-args :eval never-export #+PROPERTY: header-args :eval never-export
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="http://www.pirilampo.org/styles/readtheorg/css/htmlize.css"/> #+HTML_HEAD: <link rel="stylesheet" type="text/css" href="http://www.pirilampo.org/styles/readtheorg/css/htmlize.css"/>
...@@ -15,21 +12,21 @@ ...@@ -15,21 +12,21 @@
* En demandant à la lib maths * En demandant à la lib maths
Mon ordinateur m'indique que π vaut approximativement: Mon ordinateur m'indique que $pi$ vaut /approximativement/:
#+begin_src python :results output :session :exports both #+begin_src python :results value :session :exports both
from math import * from math import *
pi pi
#+end_src #+end_src
#+RESULTS: #+RESULTS:
3.141592653589793 : 3.141592653589793
* En utilisant la méthode des aiguilles de Buffon * 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 : 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 :exports both
import numpy as np import numpy as np
np.random.seed(seed=42) np.random.seed(seed=42)
N = 10000 N = 10000
...@@ -39,16 +36,17 @@ theta = np.random.uniform(size=N, low=0, high=pi/2) ...@@ -39,16 +36,17 @@ theta = np.random.uniform(size=N, low=0, high=pi/2)
#+end_src #+end_src
#+RESULTS: #+RESULTS:
3.12891113892 : 3.128911138923655
* Avec un argument "fréquentiel" de surface * Avec un argument "fréquentiel" de surface
Sinon, une méthode plus simple à comprendre et ne faisant pas intervenir d'appel à la fonction sinus se base sur le fait que si X∼U(0,1) Sinon, une méthode plus simple à comprendre et ne faisant pas intervenir d'appel
et Y∼U(0,1) alors P[X2+Y2≤1]=π/4 à la fonction sinus se base sur le fait que si $X\simU(0,1)$ et $Y\simU(0,1)$ alors
$P[X^2+Y^2\leq 1] = \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 : (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 output file :session :var matplot_lib_filename=(org-babel-temp-file "figure" ".png") :exports both #+begin_src python :results output 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)
...@@ -69,13 +67,13 @@ print(matplot_lib_filename) ...@@ -69,13 +67,13 @@ print(matplot_lib_filename)
#+end_src #+end_src
#+RESULTS: #+RESULTS:
[[file:/tmp/babel-FHKHuh/figurenB4Fst.png]] [[file:figure_pi_mc2.png]]
Il est alors aisé d'obtenir une approximation (pas terrible) de π en comptant combien de fois, en moyenne, X2+Y2 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 value :session :exports both
4*np.mean(accept) 4*np.mean(accept)
#+end_src #+end_src
#+RESULTS: #+RESULTS:
3.1120000000000001 : 3.112
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment