RandStream
乱数ストリーム
説明
RandStream
は、指定した疑似乱数発生器アルゴリズムを使用して乱数ストリームを作成します。
MATLAB® の疑似乱数は、1 つ以上の乱数ストリームから生成できます。乱数の配列を生成する最も簡単な方法は、関数 rand
、randi
、randn
、randperm
を使用することです。これらのすべての関数は、"グローバル ストリーム" として知られている、一様分布の乱数の同じストリームに依存します。グローバル ストリームを変更するのに RandStream
を使用できますが、その使用は必須ではありません。RandStream
を使用してストリームを作成する場合、RandStream.setGlobalStream
を使用して、それをグローバル ストリームにすることができます。しかし、関数 rng
の方が、よりシンプルなインターフェイスで、ほとんどのユース ケースに対して十分なグローバル ストリームを作成できます。
また、RandStream
を使用してストリームを作成した後、rand
、randi
、randn
、または randperm
を使用して、それらのストリームから乱数を生成することもできます。生成される乱数は、グローバル ストリームまたはその他のストリームから取得される乱数とは別のものになります。詳細については、オブジェクト関数を参照してください。
作成
次の構文は、単一の乱数ストリームを作成するために使用します。複数の独立したストリームを同時に作成する場合は、関数 RandStream.create
を使用します。
説明
は、1 つ以上のオプションの s
= RandStream(gentype
,Name,Value
)Name,Value
のペアの引数を使用して、ストリームのプロパティも制御します。
入力引数
プロパティ
オブジェクト関数
既定では、rand
などの乱数発生関数はグローバル乱数ストリームを使用します。異なるストリームを指定するには、RandStream
オブジェクトを作成し、それを最初の入力引数として渡します。たとえば、SIMD 指向高速メルセンヌ・ツイスターを使用して、乱数の 4 行 1 列のベクトルを作成します。
s = RandStream('dsfmt19937'); r = rand(s,4,1);
これらの関数は、RandStream
オブジェクトを受け入れます。
rand | 一様分布の乱数 | サポートされる構文は次のとおりです。ここで、 X = rand(s) X = rand(s,n) X = rand(s,sz1,...,szN) X = rand(s,sz) X = rand(s,__,typename) X = rand(s,__,'like',p) rand 、randi 、および randn を参照してください。 |
randi | 整数の一様分布の疑似乱数 | |
randn | 正規分布した乱数 | |
randperm | 整数のランダム置換 | サポートされる構文は次のとおりです。ここで、 p = randperm(s,n) p = randperm(s,n,k) randperm を参照してください。 |
RandStream
のその他のオブジェクト関数には、以下があります。
RandStream.create | 統計的に独立した乱数ストリームを作成 |
RandStream.list | 乱数発生器アルゴリズムをリスト |
RandStream.getGlobalStream | 現在のグローバル乱数ストリームを取得 |
RandStream.setGlobalStream | グローバル乱数ストリームの設定 |
reset | 乱数ストリームのリセット |
例
詳細
拡張機能
バージョン履歴
R2008b で導入