数学方程可能存在无限循环?

时间:2009-02-26 03:25:28

标签: math simulation montecarlo

我有以下问题,并且无法理解方程式的一部分:

估算积分的蒙特卡罗方法基本上是采用大量随机样本并确定加权平均值。例如,f(x)的积分可以从N个独立随机样本x r 估算

alt text http://www.goftam.com/images/area.gif

对于xr在[x1,x2]范围内的均匀概率分布。因为每个 函数评估f(xr)是独立的,很容易分发这项工作 在一系列过程中。

我不明白f(x r )应该做什么?它会反馈到相同的等式中吗?那不是一个无限循环吗?

5 个答案:

答案 0 :(得分:11)

应该说f(x i

f()是我们试图通过数值蒙特卡罗方法进行积分的函数,该方法通过评估积分区域中随机选择的点来估计积分(及其误差)。

Ref

答案 1 :(得分:7)

您的目标是计算从fx1的{​​{1}}的积分。例如,您可能希望计算从x2sin(x)的{​​{1}}的积分。

使用蒙特卡洛积分,您可以通过对区间0中的随机点进行采样并在这些点评估pi来对此进行近似。也许您想称之为[x1,x2]

所以不,f不会“反馈”到自身。它调用函数MonteCarloIntegrate( f, x1, x2 ),这是您尝试数字集成的函数,例如MonteCarloIntegrate

答案 2 :(得分:1)

f(x_r)替换为f(x_r_i)(读取:f在x sub r sub i处评估。从r_i区间随机统一选择[x_1, x_2]

重点是:f[x_1, x_2]下的区域等于(x_2 - x_1)区间f平均值的[x_1, x_2]倍。那是

A = (x_2 - x_1) * [(1 / (x_2 - x_1)) * int_{x_1}^{x_2} f(x)\, dx]

方括号中的部分是f [x_1, x_2]的平均值,我们将avg(f)表示f。我们如何估计N的平均值?通过在f个随机点进行抽样,并获取在这些随机点评估的avg(f) ~ (1 / N) * sum_{i=1}^{N} f(x_r_i) 的平均值。即:

x_r_1, x_r_2, ..., x_r_N

其中A = (x_2 - x_1) * avg(f) ~ (x_2 - x_1) * (1 / N) * sum_{i=1}^{N} f(x_r_i). 是从[x_1,x_2]随机选择的点。

然后

f

以下是考虑此等式的另一种方法:区间[x_1, x_2](x_2 - x_1)下的区域与长度为f且高度等于的f区域相同平均身高(1 / N) * sum_{i=1}^{N} f(x_r_i) 。 {{1}}的平均高度约为

{{1}}

这是我们之前制作的价值。

答案 3 :(得分:0)

它是x i 还是x r 是无关紧要的 - 它是我们输入函数f()的随机数。

我更有可能编写函数(除了格式化),如下所示:

(x 2 -x 1 )* sum(f(x i ))/ N

这样,我们可以看到我们采用f(x)的N个样本的平均值来得到函数的平均高度,然后乘以宽度(x2-x1)。

因为毕竟积分只是计算曲线下的面积。 (http://hyperphysics.phy-astr.gsu.edu/Hbase/integ.html#c4的好照片。

答案 4 :(得分:0)

x_r是积分范围内的随机值。

将Random(x_1,x_2)替换为x_r将得到等效方程。