XLPack 7.0
XLPack 数値計算ライブラリ (Excel VBA) リファレンスマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません

◆ RanArray()

Sub RanArray ( AA() As  Long,
N As  Long 
)

符号なし30ビット整数乱数列 (ラグ付きフィボナッチ法)

目的
ラグ付きフィボナッチ法により符号なし30ビット整数乱数列を生成する.
引数
[out]AA()配列 AA(LAA - 1) (LAA >= N)
生成された30ビット整数乱数列.
[in]N生成する乱数の個数. (N >= 100)
N < 100 の場合, 乱数生成を行わない.
Nの値は最低100である. 例えば1009個を生成して最初の100個だけを使用することが推奨される. 通常は, これらのことを自動的に行うRanArrNextを使用せよ.
出典
D. E. Knuth, “The Art of Computer Programming Third Edition, Vol.2 / Seminumerical Algorithms”, Addison Wesley Longman (1998)
使用例
符号なし30ビット整数乱数を10個生成する. 1009個を生成して最初の10個を使用した.
Sub Ex_RanArray()
Const N = 1009, Seed = 314159
Dim AA(N - 1) As Long, I As Long
Call RanStart(Seed)
Call RanArray(AA(), N)
For I = 0 To 9
Debug.Print AA(I)
Next
End Sub
Sub RanArray(AA() As Long, N As Long)
符号なし30ビット整数乱数列 (ラグ付きフィボナッチ法)
Sub RanStart(Seed As Long)
整数乱数生成ルーチンの初期化 (ラグ付きフィボナッチ法)
実行結果
512263819
254049029
667424266
250983279
84386153
208871668
530886531
1064357929
698897936
498160000