diff --git a/module2/exo1/figure/unnamed-chunk-3-1.png b/module2/exo1/figure/unnamed-chunk-3-1.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb703ca87a9c064ac66768c8bb09d9a819e2525 Binary files /dev/null and b/module2/exo1/figure/unnamed-chunk-3-1.png differ diff --git a/module2/exo1/toy_document_fr.Rmd b/module2/exo1/toy_document_fr.Rmd index 4643d3efee63d85a1b1c780615aefa1f50706656..196944aef42ddb5a3a57ef41b36ae8ff3671bf36 100644 --- a/module2/exo1/toy_document_fr.Rmd +++ b/module2/exo1/toy_document_fr.Rmd @@ -12,7 +12,7 @@ knitr::opts_chunk$set(echo = TRUE) ``` ## En demandant à la lib maths - +Mon ordinateur m’indique que $\ π$ vaut _approximativement_ ```{r} pi @@ -30,7 +30,7 @@ theta = pi/2*runif(N) ## 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) et Y∼U(0,1) alors P[X2+Y2≤1]=π/4 (voir [méthode de Monte Carlo sur Wikipedia](https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Monte-Carlo#D%C3%A9termination_de_la_valeur_de_%CF%80)). Le code suivant illustre ce fait: +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)$ et $\ Y∼U(0,1)$ alors $\ P[X^2+Y^2≤1]=π/4$ (voir [méthode de Monte Carlo sur Wikipedia](https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Monte-Carlo#D%C3%A9termination_de_la_valeur_de_%CF%80)). Le code suivant illustre ce fait: ```{r} set.seed(42) @@ -41,7 +41,7 @@ library(ggplot2) ggplot(df, aes(x=X,y=Y,color=Accept)) + geom_point(alpha=.2) + coord_fixed() + theme_bw() ``` -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 $\ π$ en comptant combien de fois, en moyenne, $\ X^2+Y^2$ est inférieur à 1: ```{r} 4*mean(df$Accept) diff --git a/module2/exo1/toy_document_fr.Rmd~ b/module2/exo1/toy_document_fr.Rmd~ index c15b496036c4eff7e8ca2c80c0343d2a2cbe2862..196944aef42ddb5a3a57ef41b36ae8ff3671bf36 100644 --- a/module2/exo1/toy_document_fr.Rmd~ +++ b/module2/exo1/toy_document_fr.Rmd~ @@ -1,7 +1,7 @@ --- -title: "Votre titre" -author: "Votre nom" -date: "La date du jour" +title: "À propos du calcul de pi" +author: "Thomas Sévère" +date: "17/03/2023" output: html_document --- @@ -11,16 +11,38 @@ knitr::opts_chunk$set(echo = TRUE) ``` -## Quelques explications +## En demandant à la lib maths +Mon ordinateur m’indique que $\ π$ vaut _approximativement_ - -```{r cars} -summary(cars) +```{r} +pi +``` +## En utilisant la méthode des aiguilles de Buffon +Mais calculé avec la **méthode** des [aiguilles de Buffon](https://fr.wikipedia.org/wiki/Aiguille_de_Buffon), on obtiendrait comme **approximation** : + +```{r} +set.seed(42) +N = 100000 +x = runif(N) +theta = pi/2*runif(N) +2/(mean(x+sin(theta)>1)) ``` -Et on peut aussi aisément inclure des figures. Par exemple: +## 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)$ et $\ Y∼U(0,1)$ alors $\ P[X^2+Y^2≤1]=π/4$ (voir [méthode de Monte Carlo sur Wikipedia](https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Monte-Carlo#D%C3%A9termination_de_la_valeur_de_%CF%80)). Le code suivant illustre ce fait: -```{r pressure, echo=FALSE} -plot(pressure) +```{r} +set.seed(42) +N = 1000 +df = data.frame(X = runif(N), Y = runif(N)) +df$Accept = (df$X**2 + df$Y**2 <=1) +library(ggplot2) +ggplot(df, aes(x=X,y=Y,color=Accept)) + geom_point(alpha=.2) + coord_fixed() + theme_bw() ``` +Il est alors aisé d’obtenir une approximation (pas terrible) de $\ π$ en comptant combien de fois, en moyenne, $\ X^2+Y^2$ est inférieur à 1: + +```{r} +4*mean(df$Accept) +``` diff --git a/module2/exo1/toy_document_fr.html b/module2/exo1/toy_document_fr.html index 4c31d306f44b422d783f81676d0543901174ad3a..7f422aaa66196a3e154897ceda66064e0d022daf 100644 --- a/module2/exo1/toy_document_fr.html +++ b/module2/exo1/toy_document_fr.html @@ -364,6 +364,7 @@ pre code {
Mon ordinateur m’indique que \(\ π\) vaut approximativement
pi
## [1] 3.141593
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) et Y∼U(0,1) alors P[X2+Y2≤1]=π/4 (voir 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 base sur le fait que si \(\ X∼U(0,1)\) et \(\ Y∼U(0,1)\) alors \(\ P[X^2+Y^2≤1]=π/4\) (voir méthode de Monte Carlo sur Wikipedia). Le code suivant illustre ce fait:
set.seed(42)
N = 1000
df = data.frame(X = runif(N), Y = runif(N))
@@ -387,7 +388,7 @@ df$Accept = (df$X**2 + df$Y**2 <=1)
library(ggplot2)
ggplot(df, aes(x=X,y=Y,color=Accept)) + geom_point(alpha=.2) + coord_fixed() + theme_bw()
Il est alors aisé d’obtenir une approximation (pas terrible) de π en comptant combien de fois, en moyenne, \(\X<sup>2</sup>+Y<sup>2</sup>\) est inférieur à 1:
+Il est alors aisé d’obtenir une approximation (pas terrible) de \(\ π\) en comptant combien de fois, en moyenne, \(\ X^2+Y^2\) est inférieur à 1:
4*mean(df$Accept)
## [1] 3.156