このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。
乱数ストリーム
s = RandStream('gentype')
s = RandStream('gentype',Name,Value)
s = RandStream('gentype')
は、gentype
で指定した一様な疑似乱数発生器アルゴリズムを使用する乱数ストリームを作成します。RandStream.list
は、すべての可能な値を gentype
に返します。発生器アルゴリズムの詳細については、乱数発生器の選択を参照してください。
s = RandStream('gentype',Name,Value)
により、ストリームの生成を制御するための 1 つまたは複数のオプション Name,Value
の組み合わせを指定することが可能になります。
乱数を作成したら、関数 rand
、randi
、および randn
がグローバル ストリームから値を取得できるように RandStream.setGlobalStream
を使用してグローバル ストリームにすることができます。
RandStream
のパラメーターは以下のとおりです。
パラメーター | 説明 |
---|---|
Seed | すべてのストリームを初期化する非負のスカラー整数。Seed は 0 から 232 − 1 までの整数でなければなりません。または 'shuffle' で現在の時刻に基づいて Seed を作成します。既定の設定は 0 です。 |
NormalTransform | 正規分布から疑似乱数値を生成するために、randn(s, ...) が使用する変換アルゴリズム。使用可能な値は 'Ziggurat' 、'Polar' または 'Inversion' です。 |
乱数ストリームを作成してそれをグローバル ストリームに指定し、randn
の出力を再生するためにその状態を保存して復元する:
s = RandStream('mrg32k3a'); RandStream.setGlobalStream(s); savedState = s.State; z1 = randn(1,5) z1 = -0.1894 -1.4426 -0.3592 0.8883 -0.4337 s.State = savedState; z2 = randn(1,5) z2 = -0.1894 -1.4426 -0.3592 0.8883 -0.4337
z2
は、z1
とまったく同じ値を含みます。
rand
、randi
、および randn
をこれらの既定の起動設定値に戻す:
s = RandStream('mt19937ar','Seed',0) RandStream.setGlobalStream(s);
rand
、randi
、および randn
が、異なる MATLAB® セッションで異なる値を返すように、現在のグローバル乱数ストリームを seed が現在の時間に基づくストリームに置き換えます。この操作は、MATLAB が生成する乱数の統計的な特性に影響を与えることがあるため、MATLAB セッションごとに何度も実行することは望ましくありません。
s = RandStream('mt19937ar','Seed','shuffle'); RandStream.setGlobalStream(s);
RandStream
を使用して作成されたストリームは、互いに独立ではない場合があります。独立した複数のストリームを作成するには、RandStream.create
を使用します。