代码之家  ›  专栏  ›  技术社区  ›  JMzance

蒙特卡罗方法中的重要性抽样(C)

  •  0
  • JMzance  · 技术社区  · 14 年前

    Hiya,Ive编写了一个代码,使用“粗糙的”蒙特卡罗采样技术成功地逼近一维、二维和三维积分。 我现在想通过使用“重要性抽样”来改进这一点,因为显然这可以减少方差。我读过一些关于这个的网页,但没有一个看起来特别清楚。我将如何实现这样的功能?多谢。杰克

    1 回复  |  直到 13 年前
        1
  •  0
  •   JMzance    14 年前

    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;