1

私の名前はリックです。私はシックスシグマのグリーンベルトで、航空機エンジンの修理施設のモンテカルロシミュレーションを作成しました。私は現在、ExcelVBAでシックスシグマプロジェクトを行っています。

プログラムの開発中に乱数をスケーリングしただけですが、開発されたので、逆対数正規CDFhttp ://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
4

1 に答える 1

1

Excel VBAを使用している場合は、Excel関数Loginvを0〜1の乱数とともに使用して、ランダムな対数正規分布の数値を生成できます。

于 2011-04-19T16:08:59.130 に答える