Main Content

gamrnd

説明

r = gamrnd(a,b) は、形状パラメーター a とスケール パラメーター b をもつガンマ分布から乱数を生成します。

r = gamrnd(a,b,sz1,...,szN) は、ガンマ分布から乱数の配列を生成します。ここで、sz1,...,szN は各次元のサイズを示します。

r = gamrnd(a,b,sz) は、ガンマ分布から乱数の配列を生成します。ここで、ベクトル szsize(r) を指定します。

すべて折りたたむ

形状 5、スケール 7 のガンマ分布から単一の乱数を生成します。

r = gamrnd(5,7)
r = 68.9857

形状パラメーターの値が 15、スケール パラメーターが 2 のガンマ分布から 5 つの乱数を生成します。

a1 = 1:5;
b1 = 2;
r1 = gamrnd(a1,b1)
r1 = 1×5

    7.1297    6.0918    2.1010    8.7253   29.5447

既定では、gamrnd は、すべてのスカラーが他の入力の次元と一致する形に拡張されるよう、必要なスカラー拡張後の a および b と同じサイズの配列を生成します。

配列の次元 sz1,...,szN または sz を指定する場合、これらは必要なスカラー拡張後の a および b の次元と一致しなければなりません。

形状パラメーターが 3、スケール パラメーターが 7 のガンマ分布から 2 行 3 列の乱数の配列を生成します。

sz = [2 3];
r2 = gamrnd(3,7,sz)
r2 = 2×3

   17.9551   41.3983    7.9865
   16.4204   40.0048   44.1909

それぞれ、形状パラメーターの値が 16、スケール パラメーターの値が 510 のガンマ分布から 6 つの乱数を生成します。

a3 = 1:6;
b3 = 5:10;
r3 = gamrnd(a3,b3,1,6)
r3 = 1×6

    9.5930    7.8289   11.0360   15.0367   28.1456   98.2664

入力引数

すべて折りたたむ

ガンマ分布の形状パラメーター。非負のスカラー値、または非負のスカラー値の配列として指定します。

複数の分布から乱数を生成するには、配列を使用して ab を指定します。ab の両方が配列である場合、サイズが同じでなければなりません。a または b のいずれかがスカラーである場合、gamrnd はもう一方の引数と同じサイズの定数配列にスカラー引数を拡張します。r の各要素は、a および b 内の対応する要素によって指定された分布から生成された乱数です。

例: [3 4 7 9]

データ型: single | double

ガンマ分布のスケール パラメーター。非負のスカラー値、または非負のスカラー値の配列として指定します。

複数の分布から乱数を生成するには、配列を使用して ab を指定します。ab の両方が配列である場合、サイズが同じでなければなりません。a または b のいずれかがスカラーである場合、gamrnd はもう一方の引数と同じサイズの定数配列にスカラー引数を拡張します。r の各要素は、a および b 内の対応する要素によって指定された分布から生成された乱数です。

例: [1 1 2 2]

データ型: single | double

各次元のサイズ。整数の引数として個別に指定します。

a または b のいずれかが配列である場合は、必要なスカラー拡張後の ab の共通次元に一致する次元 sz1,...,szN を指定しなければなりません。sz1,...,szN の既定値は共通次元です。

  • 単一の値 sz1 を指定した場合、r はサイズ sz1sz1 列の正方行列になります。

  • いずれかの次元のサイズが 0 または負である場合、r は空の配列になります。

  • 2 次元を超える場合、gamrnd はサイズ 1 の後続次元を無視します。たとえば、gamrnd(2,5,3,1,1,1) は形状 2、スケール 5 のガンマ分布から 3 行 1 列の乱数のベクトルを生成します。

例: 2,4

データ型: single | double

各次元のサイズ。整数の行ベクトルとして指定します。

a または b のいずれかが配列である場合は、必要なスカラー拡張後の ab の共通次元に一致する次元 sz を指定しなければなりません。sz の既定値は共通次元です。

  • 単一の値 [sz1] を指定した場合、r はサイズ sz1sz1 列の正方行列になります。

  • いずれかの次元のサイズが 0 または負である場合、r は空の配列になります。

  • 2 次元を超える場合、gamrnd はサイズ 1 の後続次元を無視します。たとえば、gamrnd(2,5,[3 1 1 1]) は形状 2、スケール 5 のガンマ分布から 3 行 1 列の乱数のベクトルを生成します。

例: [2 4]

データ型: single | double

出力引数

すべて折りたたむ

ガンマ乱数。非負のスカラー値、または sz1,...,szNsz によって指定された次元数をもつ非負のスカラー値の配列として返されます。r の各要素は、a および b 内の対応する要素によって指定された分布から生成された乱数です。

代替機能

  • gamrnd はガンマ分布専用の関数です。Statistics and Machine Learning Toolbox™ には、さまざまな確率分布をサポートする汎用関数 random もあります。random を使用するには、GammaDistribution 確率分布オブジェクトを作成し入力引数として渡すか、確率分布名とそのパラメーターを指定します。分布専用の関数 gamrnd は汎用関数 random より高速です。

  • 標準ガンマ分布 (単位スケール) から乱数を生成するには、randg を使用します。

  • 乱数を対話的に生成するには、乱数発生用ユーザー インターフェイス randtool を使用します。

参照

[1] Marsaglia, George, and Wai Wan Tsang. “A Simple Method for Generating Gamma Variables.” ACM Transactions on Mathematical Software 26, no. 3 (September 1, 2000): 363–72. https://doi.org/10.1145/358407.358414.

拡張機能

バージョン履歴

R2006a より前に導入