2016-09-23 68 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 ... –