## cannonball approximation to pi

This year, my daughter started writing algorithms in her math class (she is in seconde, which could correspond to the 10th grade). The one she had to write down last weekend was Buffon’s neddle and the approximation of π by Monte Carlo (throwing cannon balls was not mentioned!). Here is the short R code I later wrote to show her the outcome (as the class has not yet learned a computer language):

```n=10^6
counter=0
#uniforms over the unit square
ray=runif(n)^2+runif(n)^2
#proportion within the quarter circle
conv=cumsum((ray<1))/(1:n)
plot(conv,type="l",col="steelblue",ylim=c(pi/4-2/sqrt(n),
pi/4+2/sqrt(n)),xlab="n",ylab="proportion")
abline(h=pi/4,col="gold3")
```

and here is an outcome of the convergence of the approximation to π/4: ### 4 Responses to “cannonball approximation to pi”

1. human mathematics Says:

Why is it

`cumsum(ray < 1)`

?

• xi'an Says:

– if you mean the occurrence of a < instead of < into the code, thanks, I just corrected this HTML issue;
– if you mean why I only take rays less than 1 it is because my circle has a radius of 1;
– if you mean why I use cumsum, it is to show the convergence of the estimator as n increases…

2. tomfid Says:

This is cool. For younger kids, there’s a nice activity on determination of the area of a penny by Monte Carlo methods at the Jefferson Nat’l Lab.
3. 