このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
rng
乱数発生器の制御
説明
rng(
は、MATLAB® 乱数発生器のシードを指定します。たとえば、seed
)rng(1)
は、シード 1
を使用してメルセンヌ・ツイスター発生器を初期化します。
関数 rng
は、関数 rand
、randi
、randn
および randperm
が乱数列を生成する方法を決定する "グローバル ストリーム" を制御します。グローバル ストリームから 1 つ以上の独立したストリームを作成するには、RandStream
および RandStream.create
を参照してください。
s = rng
は、現在の乱数発生器の設定を構造体 s
に返します。
例
入力引数
ヒント
rng('shuffle')
は、現在の時刻に基づいて乱数発生器のシードを指定するため、これを使用して、並列処理の実行時に独立したストリームを確保するために異なるワーカーに乱数ストリームを設定しないでください。これは、parfor
ジョブの内部など、コマンドが複数のワーカーに同時に送信されている場合に特にあてはまります。ワーカーでストリームが独立するようにするには、既定の動作を使用するか、RandStream
を使用して、各ワーカーで独自のサブストリームを使用することを検討してください。並列処理を実行する場合、MATLAB クライアントと MATLAB ワーカーで既定の乱数発生器が異なります。クライアントとワーカーで同じ乱数ストリームを生成する必要がある場合は、発生器タイプとシードを同じにして
rng
を使用できます (あるいは、発生器タイプ、シード、および正規変換アルゴリズムを同じにしてRandStream
を使用することを検討してください)。詳細については、ワーカー上の乱数ストリームの制御 (Parallel Computing Toolbox)を参照してください。'seed'
、'state'
または'twister'
入力をもつ関数rand
やrandn
ではなくrng
を使用するには、rand と randn の非推奨構文の置換を参照してください。