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
2763f6885913bcde7101695b876ccdbe
mooc-rr
Commits
8663c42c
Commit
8663c42c
authored
Sep 14, 2020
by
Jamal KHAN
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix formatting
parent
d94f86b8
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
12 deletions
+12
-12
toy_document_orgmode_R_en.org
module2/exo1/toy_document_orgmode_R_en.org
+12
-12
No files found.
module2/exo1/toy_document_orgmode_R_en.org
View file @
8663c42c
...
...
@@ -12,7 +12,7 @@
#+HTML_HEAD: <script type="text/javascript" src="http://www.pirilampo.org/styles/readtheorg/js/readtheorg.js"></script>
* Asking the maths library
My computer tells me that
\pi is approximattively
My computer tells me that
$\pi$ is /approximatively/
#+begin_src R :results output :session *R* :exports both
pi
#+end_src
...
...
@@ -20,9 +20,9 @@ pi
#+RESULTS:
: [1] 3.141593
* Buffon
;
s needle
Applying the method of [[https://en.wikipedia.org/wiki/Buffon
's_needle_problem][Buffon's needle]], we get the **approximation*
*
#+begin_src R :results output :session *R* :exports
both
* Buffon
'
s needle
Applying the method of [[https://en.wikipedia.org/wiki/Buffon
%2527s_needle_problem][Buffon's needle]] we get the *approximation
*
#+begin_src R :results output :session *R* :exports
results
set.seed(42)
N = 100000
x = runif(N)
...
...
@@ -31,15 +31,15 @@ theta = pi/2*runif(N)
#+end_src
#+RESULTS:
:
: [1] 3.14327
* Using a surface fraction argument
A method that is easier to understand and does not make use of the sin
function is based on the fact that if $X\simU(0,1)$ and $Y\simU(0,1)$, then
$P[X^2+Y^2 \le1]=\pi/4$ (see [[https://en.wikipedia.org/wiki/Monte_Carlo_method]["Monte Carlo method" on Wikipedia]]). The
following code uses this approach:
#+begin_src R :results output graphics :file (org-babel-temp-file "figure" ".png") :exports both :width 600 :height 400 :session *R*
A method that is easier to understand and does not make use of the
$\sin$ function is based on the fact that if $X\simU(0,1)$ and
$Y\simU(0,1)$, then $P[X^2+Y^2 \le1]=\pi/4$ (see [[https://en.wikipedia.org/wiki/Monte_Carlo_method]["Monte Carlo method" on
Wikipedia]]). The following code uses this approach:
#+begin_src R :results output graphics :file figure_pi_mc1.png :exports both :width 600 :height 400 :session *R*
set.seed(42)
N = 1000
df = data.frame(X = runif(N), Y = runif(N))
...
...
@@ -49,10 +49,10 @@ ggplot(df, aes(x=X, y=Y, color=Accept)) + geom_point(alpha=.2) + coord_fixed() +
#+end_src
#+RESULTS:
[[file:
/tmp/babel-9oTMJE/figure0FnJcH
.png]]
[[file:
figure_pi_mc1
.png]]
It is then 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:
to \pi by counting how many times, on average, $X^2
+ Y^2$
is smaller than 1:
#+begin_src R :results output :session *R* :exports both
4*mean(df$Accept)
#+end_src
...
...
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