0

您好,我编写了一个代码,该代码使用“粗略的”蒙特卡罗采样技术成功地逼近了一维、二维和三维积分。我现在想通过使用“重要性抽样”来改进这一点,因为显然这可以减少方差。我已经阅读了一些关于此的网页,但似乎没有一个特别清楚。我将如何实现这样的事情?非常感谢。杰克

4

1 回答 1

0

没错,我发现了我的错误。我没有使用 PDF 的逆积分来计算每个点的“权重”。对于任何感兴趣的人,我的条件循环如下所示:

for (i = 0; i <= N; i++) {
    X = (double) rand() / (double) RAND_MAX;
   integrand = function(inverse(X)) / PDF(inverse(X));
   sum = sum + integrand;
   sum2 = sum2 + (integrand * integrand);
}
average = sum / N;
average2 = sum2 / N;

其中 PDF 是我的概率密度函数,inverse 是 PDF 的逆积分。而average和average2分别代表和。

于 2010-09-29T11:59:36.830 回答