我的名字是 Rik,我是 6 西格玛绿带,我创建了一个飞机发动机维修设施的蒙特卡洛模拟。我目前正在 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