diff --git a/module1/exo2/fichier-markdown.md b/module1/exo2/fichier-markdown.md index 30d74d258442c7c65512eafab474568dd706c430..2d0063e1cc719da40c566522aff057fa0c04e474 100644 --- a/module1/exo2/fichier-markdown.md +++ b/module1/exo2/fichier-markdown.md @@ -1 +1,31 @@ -test \ No newline at end of file +# Partie 1 +## Sous-partie 1 : texte +Une phrase sans rien + +*Une phrase en italique* + +**Une phrase en gras** + +Un lien vers [fun-mooc.fr](https://www.fun-mooc.fr/) + +Une ligne de `code` + +## Sous-partie 2 : listes + +**Liste à puce** +- item + - sous-item + - sous-item +- item +- item + +**Liste numérotée** +1. item +2. item +3. item + +## Sous-partie 3 : code + +``` +# Extrait de code +``` \ No newline at end of file diff --git a/module2/exo1/toy_document_en.Rmd b/module2/exo1/toy_document_en.Rmd index 13b258ddd0da29bc3bf08c64b6a1db742f6d5409..74d3b915899a44c55a11128e10427373dbadb490 100644 --- a/module2/exo1/toy_document_en.Rmd +++ b/module2/exo1/toy_document_en.Rmd @@ -1,33 +1,49 @@ --- -title: "Your title" -author: "Your name" -date: "Today's date" +title: "On the computation of pi" +author: "Jayashri Govindan" +date: "23 Octobre 2023" output: html_document --- - ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` -## Some explanations - -This is an R Markdown document that you can easily export to HTML, PDF, and MS Word formats. For more information on R Markdown, see . +## Asking the maths library -When you click on the button **Knit**, the document will be compiled in order to re-execute the R code and to include the results into the final document. As we have shown in the video, R code is inserted as follows: +My computer tells me that $\pi$ is *approximatively* -```{r cars} -summary(cars) +```{r} +pi ``` -It is also straightforward to include figures. For example: +## Buffon's needle -```{r pressure, echo=FALSE} -plot(pressure) +Applying the method of [Buffon's needle](https://en.wikipedia.org/wiki/Buffon%27s_needle_problem), we get the **approximation** + +```{r} +set.seed(42) +N = 100000 +x = runif(N) +theta = pi/2*runif(N) +2/(mean(x+sin(theta)>1)) ``` -Note the parameter `echo = FALSE` that indicates that the code will not appear in the final version of the document. We recommend not to use this parameter in the context of this MOOC, because we want your data analyses to be perfectly transparent and reproducible. +## Using a surface fraction argument -Since the results are not stored in Rmd files, you should generate an HTML or PDF version of your exercises and commit them. Otherwise reading and checking your analysis will be difficult for anyone else but you. +A method that is easier to understand and does not make use of the $\sin$ function is based on the fact that if $X\sim U(0,1)$ and $Y\sim U(0,1)$, then $P[X^2+Y^2\leq 1] = \pi/4$ (see ["Monte Carlo method" on Wikipedia](https://en.wikipedia.org/wiki/Monte_Carlo_method)). The following code uses this approach: -Now it's your turn! You can delete all this information and replace it by your computational document. +```{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() +``` + +It is therefore straightforward to obtain a (not really good) approximation to $\pi$ by counting how many times, on average, $X^2 + Y^2$ is smaller than 1 + +```{r} +4*mean(df$Accept) +```