Main Content

gamrnd

gamma 随机数

说明

示例

r = gamrnd(a,b) 从具有形状参数 a 和尺度参数 b 的 gamma 分布中生成一个随机数。

示例

r = gamrnd(a,b,sz1,...,szN) 从 gamma 分布中生成一个随机数数组,其中 sz1,...,szN 表示每个维度的大小。

示例

r = gamrnd(a,b,sz) 从 gamma 分布中生成一个随机数数组,其中向量 sz 指定 size(r)

示例

全部折叠

从形状为 5 且尺度为 7 的 gamma 分布中生成一个随机数。

r = gamrnd(5,7)
r = 68.9857

从形状参数值为 15 且尺度参数为 2 的 gamma 分布中生成五个随机数。

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

    7.1297    6.0918    2.1010    8.7253   29.5447

默认情况下,gamrnd 在进行任何必要的标量扩展后,生成一个与 ab 大小相同的数组,以便所有标量都扩展以匹配其他输入的维度。

如果指定数组维度 sz1,...,szNsz,则在进行任何必要的标量扩展后,它们必须与 ab 的维度匹配。

从形状参数为 3 且尺度参数为 7 的 gamma 分布中生成一个 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 的 gamma 分布中分别生成六个随机数。

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

输入参数

全部折叠

gamma 分布的形状参数,指定为非负标量值或非负标量值组数组。

要从多个分布中生成随机数,请使用数组指定 ab。如果 ab 均为数组,则数组大小必须相同。如果 ab 是标量,则 gamrnd 会将标量参量扩展为与另一个参量大小相同的常量数组。r 中的每个元素均是从 ab 中对应元素所指定的分布中生成的随机数。

示例: [3 4 7 9]

数据类型: single | double

gamma 分布的尺度参数,指定为非负标量值或非负标量值数组。

要从多个分布中生成随机数,请使用数组指定 ab。如果 ab 均为数组,则数组大小必须相同。如果 ab 是标量,则 gamrnd 会将标量参量扩展为与另一个参量大小相同的常量数组。r 中的每个元素均是从 ab 中对应元素所指定的分布中生成的随机数。

示例: [1 1 2 2]

数据类型: single | double

每个维度的大小,指定为单独的整数参量。

如果 ab 是数组,则在进行任何必要的标量扩展后,指定的维度 sz1,...,szN 必须与 ab 的公共维度相匹配。sz1,...,szN 的默认值为公共维度。

  • 如果您指定单一值 sz1,则 r 是大小为 sz1×sz1 的方阵。

  • 如果任一维度的大小是 0 或负数,则 r 是空数组。

  • 对于第二个维度以上的维度,gamrnd 会忽略大小为 1 的尾部维度。例如,gamrnd (2,5,3,1,1,1) 从形状为 2 且尺度为 5 的 gamma 分布中生成一个 3×1 随机数向量。

示例: 2,4

数据类型: single | double

每个维度的大小,指定为由整数组成的行向量。

如果 ab 是数组,则在进行任何必要的标量扩展后,指定的维度 sz 必须与 ab 的公共维度相匹配。sz 的默认值为公共维度。

  • 如果您指定单一值 [sz1],则 r 是大小为 sz1×sz1 的方阵。

  • 如果任一维度的大小是 0 或负数,则 r 是空数组。

  • 对于第二个维度以上的维度,gamrnd 会忽略大小为 1 的尾部维度。例如,gamrnd (2,5,[3 1 1 1]) 从形状为 2 且尺度为 5 的 gamma 分布中生成一个 3×1 随机数向量。

示例: [2 4]

数据类型: single | double

输出参量

全部折叠

gamma 随机数,以非负标量值或非负标量值数组形式返回,其维度由 sz1,...,szNsz 指定。r 中的每个元素均是从 ab 中对应元素所指定的分布中生成的随机数。

替代功能

  • gamrnd 是 gamma 分布特有的函数。Statistics and Machine Learning Toolbox™ 还提供泛型函数 random,它支持各种概率分布。要使用 random,请创建一个 GammaDistribution 概率分布对象,并将该对象作为输入参量传递,或指定概率分布名称及其参数。请注意,分布特有的函数 gamrnd 比泛型函数 random 的执行速度要快。

  • 使用 randg 从标准 gamma 分布(具有单位尺度)生成随机数。

  • 要以交互方式生成随机数,请使用 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 之前推出