多次元正規分布に従う乱数ベクトルを発生する.
x = mnrand( dpt, seed, mvec, vmat )
x : 出力オブジェクト (Series)
dpt : 出力ベクトルの数
seed : 乱数の初期値 (奇数)
mvec : 入力オブジェクト : 平均値ベクトル (Series, Snapshot)
vmat : 入力オブジェクト : 分散共分散行列 (Series, Snapshot)
乱数のシードは,M系列を用いて生成している.
分散共分散行列に対してコレスキー分解を施すことにより,多次元乱数を生成している.
分散共分散行列は,正定値対象行列でなければならない.
平均 ,分散 ,相関係数 で規定される2次元正規分布に従う確率変数ベクトル を 1000 点生成する.
mvec = (0,0); # 平均ベクトルの設定 vmat = (1,0.5,0.5,1); # 分散共分散 vmat = reform(vmat,(2,2)); # 行列の設定 y = mnrand(1000,1,mvec,vmat); # 乱数生成 y1 = y[0]; # 1000点の乱数が y2 = y[1]; # 格納される
nrand, urand