メインコンテンツ

乱数発生

R2026b

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

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

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

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

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

rng shuffle

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

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

分布乱数発生関数
ベータbetarnd、random、乱数発生ツール
二項binornd、random、乱数発生ツール
バーンバウム・サンダースrandom
ブール型 XIIrandom、乱数発生ツール
カイ二乗chi2rnd、random、乱数発生ツール
クレイトン コピュラcopularnd
指数exprnd、random、乱数発生ツール
極値evrnd、random、乱数発生ツール
Ffrnd、random、乱数発生ツール
フランク・コピュラcopularnd
ガンマgamrnd、randg、random、乱数発生ツール
ガウス型コピュラcopularnd

混合ガウス

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

参考

トピック