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

◆ GenrandRes53()

Function GenrandRes53 ( )

一様乱数 ([0, 1) の 53 ビット実数乱数) (メルセンヌ・ツイスター)

目的
メルセンヌ・ツイスター (MT19937) により一様分布する疑似乱数を生成する.
戻り値
Double
[0, 1) の 53 ビット実数の疑似乱数.
乱数生成の前に InitGenrand() または InitByArray() により初期化しておかなければならない. 初期化を行わないで呼び出した場合, 5489 をシードとして自動的に初期化される.
出典
Mersenne Twister Home Page
使用例
[0, 1) の実数の乱数を 10 個生成する. 長さ 3 の整数配列を使用して InitByArray() により初期化する例を示す. 整数シードを使って InitGenrand() により初期化することもできる.
Sub Ex_GenrandRes53()
Dim InitKey(2) As Long, KeyLength As Long, I As Long
KeyLength = 3
InitKey(0) = 101: InitKey(1) = 2101: InitKey(2) = 50101
Call InitByArray(InitKey(), KeyLength)
For I = 1 To 10
Debug.Print GenrandRes53()
Next
End Sub
Sub InitByArray(InitKey() As Long, KeyLength As Long)
乱数生成ルーチンの整数配列による初期化 (メルセンヌ・ツイスター)
Function GenrandRes53() As Double
一様乱数 ([0, 1) の 53 ビット実数乱数) (メルセンヌ・ツイスター)
実行結果
0.24458671671262
0.349909365984602
9.04350819875991E-02
0.478045087586123
7.80156266035709E-02
0.75363765185477
0.553109521876539
0.824325697710808
0.22205005707693
0.756798373840869