前回の記事でPythonを使ったモンテカルロ法によるπの導出を、今度はR言語でやってみた。 > montecarlo <- function(n) { + count <- 0 + for(i in 1:n) { + s <- runif(2) + if(sqrt(s[1]^2 + s[2]^2) < 1) { + count <- count + 1 + } + } + return(4*count/n) + } 実行結果例: > montecarlo(100) [1] 3.2 > montecarlo(1000) [1] 3.108 > montecarlo(10000) [1] 3.1196 グラフを描いてみる: >x <- runif(10000) >y <- runif(10000) > plot(x, y, pch = ifelse(sqrt(x^2+y^2)<1, 20, 1
![R言語でモンテカルロ法 - necoffeeのにっき](https://cdn-ak-scissors.b.st-hatena.com/image/square/ca71aad85d385b9bd2bcbb6ba9d1fbd200e99305/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fn%2Fnecoffee%2F20071119%2F20071119221502.jpg)