【发布时间】:2016-09-23 04:23:26
【问题描述】:
我正在努力解决 R 中的蒙特卡洛积分问题。
y= x^2+cos(x);对于 x= [0,2]
我应该使用 HitMiss 来解决这个问题。 T 是 S 中每个样本大小运行的跟踪数。 S是样本点数
函数应该返回 T*|S|矩阵,|S|是S的长度。
请帮帮我,给我一些解决这个问题的线索。 真的很感激!!!
【问题讨论】:
标签: r simulation montecarlo
我正在努力解决 R 中的蒙特卡洛积分问题。
y= x^2+cos(x);对于 x= [0,2]
我应该使用 HitMiss 来解决这个问题。 T 是 S 中每个样本大小运行的跟踪数。 S是样本点数
函数应该返回 T*|S|矩阵,|S|是S的长度。
请帮帮我,给我一些解决这个问题的线索。 真的很感激!!!
【问题讨论】:
标签: r simulation montecarlo
一些提示:
(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
【讨论】: