2016-09-23 80 views
-1

我正在與蒙特卡羅積分問題在R.掙扎蒙特卡洛積分在R:命中或未命中與 「哈爾頓」

Y = X^2個+ COS(X);對於x = [0,2]

我應該使用HitMiss < - 函數(T,S,方法= 「哈爾頓」)來解決這個問題。 T是S中每個樣本大小運行的路徑數。 S是樣本點數

函數應該返回T * | S |矩陣,| S |是長度S.

請幫我解決這個問題,並給我一些線索。 真的很感激!

回答

0

幾點提示:

(1)你見過這個包嗎?有一些哈爾頓方法:https://cran.r-project.org/web/packages/randtoolbox/randtoolbox.pdf

(2)你想只用Halton方法解決它嗎?對於這個簡單的例子一個簡單的解決辦法是這樣:

set.seed(1) 

N = 10000 

f = function(x) x^2 + cos(x) 
points(runif(N, 0, 2), runif(N, 0, 4), pch = 20) 
curve(f(x), 0,2, ylim=c(0, 4), col='white', lwd = 2, add=TRUE) 

sum(f(runif(N, 0, 2)) > runif(N, 0, 4))/N * 2*4 
#[1] 3.5592 

enter image description here

+0

感謝您的快速回復!但是,我怎樣才能將halton隨機化納入問題? halton的參數應該是usetime = T,init = F ... –