[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『度数分布にしたがった乱数を発生させたい』(すー)
度数分布にしたっがた乱数を発生させる方法に関して質問です。
一様乱数の値を累積分布関数の逆関数に与えてやることにより、元々の度数分布にしたがう値を発生させる逆関数法での生成を考えています。
任意の確率分布に対して乱数を発生させたいのですが、VBAのプラグラムコードはどのように書けばよいのでしょうか?
< 使用 Excel:Office365、使用 OS:Windows2000 >
例えばこんな感じです。 例ではワークシート関数のNomr_Invを使いました。 それ以外にもExcelのワークシート関数にはいくつかの確率関数が用意されていますが、 「任意の累積分布関数の逆関数」が必要ならば、それは自分で作らないといけません。
Sub sample() ' 正規分布に従う乱数をA列に書き出す Randomize Avg = 0 ' 平均 Stv = 1 ' 標準偏差 For i = 1 To 1000 Cells(i, 1) = WorksheetFunction.Norm_Inv(Rnd, Avg, Stv) Next End Sub (´・ω・`) 2019/12/17(火) 18:17
参考にしてやってみます!
(すー) 2019/12/18(水) 10:46
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.