Lorsque vous utiliserez le raccourci =C-c C-e h o=, ce document sera
#+begin_src R :results output :session *R* :exports both
compilé en html. Tout le code contenu sera ré-exécuté, les résultats
pi
récupérés et inclus dans un document final. Si vous ne souhaitez pas
#+end_src
ré-exécuter tout le code à chaque fois, il vous suffit de supprimer
le # et l'espace qui sont devant le ~#+PROPERTY:~ au début de ce
#+RESULTS:
document.
: [1] 3.141593
* En utilisant la méthode des aiguilles de Buffon
Comme nous vous l'avons montré dans la vidéo, on inclut du code
Mais calculé avec la méthode des [[https://fr.wikipedia.org/wiki/Aiguille_de_Buffon][aiguilles de Buffon]], on obtiendrait comme *approximation* :
R de la façon suivante (et on l'exécute en faisant ~C-c C-c~):
#+begin_src R :results output :exports both
#+begin_src R :results output :session *R* :exports both
print("Hello world!")
set.seed(42)
N = 100000
x = runif(N)
theta = pi/2*runif(N)
2/(mean(x+sin(theta)>1))
#+end_src
#+end_src
#+RESULTS:
#+RESULTS:
: [1] "Hello world!"
:
: [1] 3.14327
Voici la même chose, mais avec une session R (c'est le cas le
* Avec un argument "fréquentiel" de surface
plus courant, R étant vraiment un langage interactif), donc une
persistance d'un bloc à l'autre (et on l'exécute toujours en faisant
~C-c C-c~).
#+begin_src R :results output :session *R* :exports both
Sinon, une méthode plus simple à comprendre et ne faisant pas intevenir d'appel à la fonction sinus se base sur le fait que si $$X ~ U(0, 1)$$ $$Y ~ U(0, 1)$$ alors $$P\[X^2 + Y^2 \leq 1 \] = \pi / 4$$
summary(cars)
(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 R :results output graphics :file (org-babel-temp-file "figure" ".png") :exports both :width 600 :height 400 :session *R*