Main Content

乱数発生

Statistics and Machine Learning Toolbox™ では、さまざまな分布からの乱数の発生がサポートされています。各乱数発生器 (RNG) は分布のパラメーター族を表します。乱数発生器は、指定した分布からの乱数を、指定した大きさの配列に返します。

特定の分布をサポートしない他の乱数発生関数には以下のようなものがあります。

Statistics and Machine Learning Toolbox ソフトウェアの乱数発生器は、関数の randrandn を介した MATLAB® の既定の設定の乱数ストリームにより異なります。各乱数発生器は、一般的な疑似乱数発生法で説明した手法のいずれかを使用して、与えられた分布から乱数を生成します。

既定の設定の乱数ストリームとその状態を制御することにより、Statistics and Machine Learning Toolbox ソフトウェアの乱数発生器がランダムな値を生成する方法を制御することができます。たとえば、既定の設定のストリームの状態を保存/復元して、乱数発生器からの同じ連続の値を再生することも、既定の設定のストリームをリセットすることもできます。既定の設定の乱数ストリームを管理する方法の詳細は、RandStream を使用したグローバル ストリームの管理を参照してください。

MATLAB は、起動されるたびに、既定乱数ストリームを同じ状態に初期化します。そのため、Statistics and Machine Learning Toolbox ソフトウェアの乱数発生器は、起動時にその状態を変更しない限り、MATLAB のセッションごとに同じ連続の値を生成します。それを行う簡単な方法の 1 つは、以下のようなコマンドを startup.m に追加することです。

rng shuffle

これはセッションごとに既定の設定の乱数ストリームを異なる状態に初期化します。

次の表は、サポートされる分布とそのそれぞれの乱数発生関数のリストです。

分布乱数発生関数
ベータbetarnd, random, randtool
二項binornd, random, randtool
バーンバウム・サンダースrandom
ブール型 XIIrandom, randtool
カイ二乗chi2rnd, random, randtool
クレイトン コピュラcopularnd
指数exprnd, random, randtool
極値evrnd, random, randtool
Ffrnd, random, randtool
フランク・コピュラcopularnd
ガンマgamrnd, randg, random, randtool
ガウス型コピュラcopularnd
混合ガウスrandom
一般化極値gevrnd, random, randtool
一般化パレートgprnd, random, randtool
幾何geornd, random, randtool
ガンベル・コピュラcopularnd
半正規random, randtool
超幾何hygernd, random, randtool
逆ガウスrandom
逆ウィシャートiwishrnd
ジョンソン システムjohnsrnd
カーネルrandom
ロジスティックrandom
対数ロジスティックrandom
対数正規lognrnd, random, randtool
多項mnrnd
多変量正規mvnrnd
多変量 tmvtrnd
仲上random
負の二項nbinrnd, random, randtool
非心カイ二乗ncx2rnd, random, randtool
非心 Fncfrnd, random, randtool
非心 tnctrnd, random, randtool
正規 (ガウス)normrnd, randn, random, randtool
パレートrandom
ピアソン システムpearsrnd
区分的random
ポアソンpoissrnd, random, randtool
レイリーraylrnd, random, randtool
ライスrandom
安定random
スチューデントの ttrnd, random, randtool
t コピュラcopularnd
t 位置 - スケールrandom
三角形random
一様 (連続)unifrnd, rand, random
一様 (離散)unidrnd, random, randtool
ワイブルwblrnd, random
ウィシャートwishrnd

関連するトピック