我的名字是Rik,我是一个6-sigma绿化带,我已经创建了一个飞机发动机维修设施的蒙特卡洛模拟。我目前正在用Excel VBA做一个6-sigma项目。
我在开发程序时简单地调整了一个随机数,但现在它已经开发出来了,我想使用逆对数正态CDF http://engineer.jpl.nasa.gov/practices/at2.pdf来创建随机修复时间,但我在网上找不到这个函数。
我确实在http://www.anthony-vba.kefra.com/vba/vba12.htm上找到了下面的代码,但它是针对正态分布的,我不确定它的准确性。我找不到逆对数正态CDF的方程。我希望逆对数正态CDF函数有类似的代码。
任何帮助都是非常感谢的。
'****************************************************************************
'* Return random numbers from Standard Normal Distribution *
'****************************************************************************
Function gauss()
Dim fac As Double, r As Double, V1 As Double, V2 As Double
10 V1 = 2 * Rnd - 1
V2 = 2 * Rnd - 1
r = V1 ^ 2 + V2 ^ 2
If (r >= 1) Then GoTo 10
fac = Sqr(-2 * Log(r) / r)
gauss = V2 * fac
End Function
发布于 2011-04-20 00:08:59
如果您使用的是Excel VBA,则Excel函数Loginv和一个介于0和1之间的随机数可用于生成随机的对数正态分布数。
https://stackoverflow.com/questions/5475288
复制相似问题