R中的蒙特卡罗积分:与#34; halton"

时间:2016-09-23 04:23:26

标签: r simulation montecarlo

我正在努力解决R中的蒙特卡罗积分问题。

y = x ^ 2 + cos(x);对于x = [0,2]

我应该使用 HitMiss< - function(T,S,method =" halton")来解决这个问题。 T是S中每个样本大小运行的路径数。 S是样本点数

该函数应返回T * | S |矩阵,| S |是S的长度。

请帮帮我,给我一些解决这个问题的线索。 非常感谢!!!

1 个答案:

答案 0 :(得分:0)

一些提示:

(1)你见过这个包吗?有一些Halton方法: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