Main Content

qrand

ストリームからの準乱数点の生成

構文

x = qrand(q)
X = qrand(q,n)

説明

x = qrand(q) は、qrandstream クラスの準乱数ストリーム q における次の値 x を返します。x は 1 行 d 列のベクトルです。ここで、d はストリームの次元です。このコマンドは、q.State を次に返される値の元の点集合におけるインデックスに設定します。

X = qrand(q,n) は次の n 値の Xn 行 d 列の行列で返します。

qrandstream クラスのオブジェクト q は、指定した準乱数ストリームのプロパティをカプセル化します。qrand 使用して q がアクセスされるまで、ストリームの値は生成されず、メモリに保存されません。

qrandstream を使用して、最初の 1000 個の値をスキップし、101 番目ごとの点を保持する点集合に基づいて、3 次元 Halton ストリームを構築します。

q = qrandstream('halton',3,'Skip',1e3,'Leap',1e2)
q = 
   Halton quasi-random stream in 3 dimensions
   Point set properties:
              Skip : 1000
              Leap : 100
    ScrambleMethod : none

nextIdx = q.State
nextIdx =
     1

qrand を使用して、サイズが 4 の 2 つの標本を生成します。

X1 = qrand(q,4)
X1 =
    0.0928    0.3475    0.0051
    0.6958    0.2035    0.2371
    0.3013    0.8496    0.4307
    0.9087    0.5629    0.6166
nextIdx = q.State
nextIdx =
     5

X2 = qrand(q,4)
X2 =
    0.2446    0.0238    0.8102
    0.5298    0.7540    0.0438
    0.3843    0.5112    0.2758
    0.8335    0.2245    0.4694
nextIdx = q.State
nextIdx =
     9

reset を使用してストリームをリセットし、別の標本を生成します。

reset(q)
nextIdx = q.State
nextIdx =
     1

X = qrand(q,4)
X =
    0.0928    0.3475    0.0051
    0.6958    0.2035    0.2371
    0.3013    0.8496    0.4307
    0.9087    0.5629    0.6166