【问题标题】:Monte Carlo Integration蒙特卡洛积分
【发布时间】:2014-03-26 01:05:00
【问题描述】:

有没有人知道如何在 vb.net 中实现一个蒙特卡罗集成模拟器。

我浏览了互联网,没有运气。

任何代码或关于如何启动它的想法都会有所帮助。

【问题讨论】:

    标签: vb.net integration


    【解决方案1】:

    好吧,我想我们正在谈论一个二维问题。我假设您有一个要计算其面积的多边形。

    1) 首先你需要一个函数来检查一个点是否在多边形内。

    2) 现在您在多边形周围定义一个已知大小的区域。

    3) 现在您需要在已知区域内的随机点,其中一些在您的多边形中,一些在外面,数一数!

    4) 现在你有两个关系:首先是所有点与多边形内的点的关系。其次是你知道的多边形周围的区域,到你不知道的多边形区域。

    5) 关系是一样的 --> 你可以计算多边形的面积! (多边形的面积应该是:多边形中的点/所有点*已知区域的大小)

    示例:3个点命中多边形,20个点“击球”,多边形的面积为0.6m² 注意:这个区域只是一种方法!你拥有的分数越多,方法就越好。

    当然,您可以实现一种奇特的方法来在您的 vb 程序中显示它。这是你需要的吗?我对多边形的假设是否正确?您在“多边形内点”算法方面需要帮助吗?

    【讨论】:

      【解决方案2】:

      VB.net 没有什么特定的问题,除了可能从库中选择随机数生成器。

      对于高维度 n,使用数值求解函数 f(x_1,...,x_n) 的积分可能变得不可行(在可接受的时间内),因为给定采样距离所需的样本点数量会随着问题的维度呈指数增长。蒙特卡洛积分的基本思想是用随机抽样代替变量x_1,...,x_n 的均匀抽样,每个样本取n 随机数。使用这些样本,估计积分。样本越多,估计越好。 MC 集成的主要好处是,您可以使用标准的统计方法来估计结果的误差。

      那么,如何开始:通过积分空间的均匀采样来实现积分,然后进行随机采样并添加误差估计。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-11
        • 1970-01-01
        • 2020-07-05
        • 1970-01-01
        • 1970-01-01
        • 2018-10-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多