Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mooc-rr
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
23be481b3dae757d4aaf1e5004d7ac03
mooc-rr
Commits
cda9edd8
Commit
cda9edd8
authored
Apr 20, 2020
by
23be481b3dae757d4aaf1e5004d7ac03
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update Lynda-markdown.md
parent
ca909a17
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
1 deletion
+30
-1
Lynda-markdown.md
module2/module2/exo1/Lynda-markdown.md
+30
-1
No files found.
module2/module2/exo1/Lynda-markdown.md
View file @
cda9edd8
...
@@ -12,4 +12,33 @@ Mon ordinateur m’indique que π vaut _approximativement_
...
@@ -12,4 +12,33 @@ Mon ordinateur m’indique que π vaut _approximativement_
`## [1] 3.141593`
`## [1] 3.141593`
# __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 aiguilles de Buffon, on obtiendrait comme
**approximation**
:
Mais calculé avec la
**méthode**
des
[
aiguilles de Buffon
](
url
)
, on obtiendrait comme
**approximation**
:
\ No newline at end of file
```
set.seed(42)
N = 100000
x = runif(N)
theta = pi/2*runif(N)
2/(mean(x+sin(theta)>1))
```
`## [1] 3.14327`
`## [1] 3.156`
# __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) X∼U(0,1) et
Y∼U(0,1)Y∼U(0,1) alors P
[
X2+Y2≤1
]
=π/4P
[
X2+Y2≤1
]
=π/4(voir
[
méthode de Monte Carlo sur Wikipedia)
](
url
)
. Le code suivant illustre ce fait:
```
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, X2+Y2 est inférieur à 1:
`4*mean(df$Accept)`
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment