首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VBA蒙特卡罗模拟-维修时间生成器(对数正态分布)

VBA蒙特卡罗模拟-维修时间生成器(对数正态分布)
EN

Stack Overflow用户
提问于 2011-03-29 23:47:16
回答 1查看 2K关注 0票数 1

我的名字是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函数有类似的代码。

任何帮助都是非常感谢的。

代码语言:javascript
运行
复制
'****************************************************************************
'*         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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-20 00:08:59

如果您使用的是Excel VBA,则Excel函数Loginv和一个介于0和1之间的随机数可用于生成随机的对数正态分布数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5475288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档