相关疑难解决方法(0)

Excel中用于蒙特卡罗模拟的RAND()函数有多好?

我正在Excel中的3个变量中实现蒙特卡罗模拟.我已经使用RAND()函数从Weibull分布中采样(带有长尾).应用于样本的函数是非线性但平滑的(exp,ln,cos等).每个样本的结果是通过/失败,总体结果是失败的概率.

我也通过MathCad中的数值积分和蒙特卡罗实现了这一点,两次得到相同的结果.MathCad使用(我认为)Mersenne Twister随机数生成器.

我的Excel电子表格得到的结果始终不同(即总是更大).我检查过方程是一样的.

Excel使用什么随机数生成器,它有多好?这可能是我问题的根源吗?我假设exp,cos等的Excel实现都可以.

最后,有没有办法实现蒙特卡罗来减轻特定随机数发生器的(已知的)不良特性?(我听说马尔可夫链,随机走路等,但对它们并不是很了解)

非常感谢.

statistics excel vba excel-vba

22
推荐指数
2
解决办法
3万
查看次数

Excel VBA的Rnd()真的很糟糕吗?

我需要一个用于2D蒙特卡罗模拟的伪随机数生成器,它没有使用简单LCG获得的特征超平面.我使用以下代码在Excel 2013中测试了随机数生成器Rnd()(运行大约需要5秒):

Sub ZoomRNG()

Randomize
For i = 1 To 1000
    Found = False
    Do
        x = Rnd()   ' 2 random numbers between 0.0 and 1.0
        y = Rnd()
        If ((x > 0.5) And (x < 0.51)) Then
            If ((y > 0.5) And (y < 0.51)) Then
                ' Write if both x & y in a narrow range
                Cells(i, 1) = i
                Cells(i, 2) = x
                Cells(i, 3) = y
                Found = True
            End If
        End If
    Loop While (Not …
Run Code Online (Sandbox Code Playgroud)

random vba excel-vba montecarlo excel-2013

13
推荐指数
1
解决办法
4452
查看次数

标签 统计

excel-vba ×2

vba ×2

excel ×1

excel-2013 ×1

montecarlo ×1

random ×1

statistics ×1