Main Content

binornd

来自二项分布的随机数

说明

示例

r = binornd(n,p) 根据试验次数 n 和每次试验的成功概率 p 指定的二项分布生成随机数。

np 可以是具有相同大小的向量、矩阵或多维数组。或者,一个或多个参数可以是标量。binornd 函数将标量输入扩展为常量数组,其维数与其他输入的维数相同。该函数返回与 np 大小相同的向量、矩阵或多维数组 r

示例

r = binornd(n,p,sz1,...,szN) 从具有标量参数 np 的二项分布生成一个随机数数组,其中 sz1,...,szN 表示每个维度的大小。

示例

r = binornd(n,p,sz) 从具有标量参数 np 的二项分布生成一个随机数数组,其中向量 sz 指定 size(r)

示例

全部折叠

从二项分布中生成一个随机数数组。对于每个分布,您可以指定试验次数和每次试验的成功概率。

指定试验次数。

n = 10:10:60
n = 1×6

    10    20    30    40    50    60

指定每次试验成功的概率。

p = 1./n
p = 1×6

    0.1000    0.0500    0.0333    0.0250    0.0200    0.0167

从二项分布中生成随机数。

r = binornd(n,p)
r = 1×6

     0     1     1     0     1     1

从一个二项分布生成一个随机数数组。此处,分布参数 np 是标量。

使用 binornd 函数从 100 次试验的二项分布中生成随机数,其中每次试验的成功概率为 0.2。该函数返回一个数值。

r_scalar = binornd(100,0.2)
r_scalar = 20

通过指定所需的数组维度,从同一分布中生成一个 2×3 随机数数组。

r_array = binornd(100,0.2,2,3)
r_array = 2×3

    18    23    20
    18    24    23

或者,将所需的数组维度指定为向量。

r_array = binornd(100,0.2,[2 3])
r_array = 2×3

    21    21    20
    26    18    23

输入参数

全部折叠

试验次数,指定为正整数或正整数数组。

示例: [10 20 50 100]

数据类型: single | double

每次试验的成功概率,指定为标量值或标量值组成的数组。p 的所有值都必须属于区间 [0 1]

示例: [0.01 0.1 0.5 0.7]

数据类型: single | double

每个维度的大小,指定为单独的整数参数。例如,指定 5,3,2 会从二项概率分布生成一个由随机数组成的 5×3×2 数组。

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

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

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

  • 对于第二个维度以上的维度,binornd 会忽略大小为 1 的尾部维度。例如,binornd(n,p,3,1,1,1) 生成由随机数组成的 3×1 向量。

示例: 5,3,2

数据类型: single | double

每个维度的大小,指定为由整数组成的行向量。例如,指定 [5 3 2] 会从二项概率分布生成一个由随机数组成的 5×3×2 数组。

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

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

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

  • 对于第二个维度以上的维度,binornd 会忽略大小为 1 的尾部维度。例如,binornd(n,p,[3 1 1 1]) 生成由随机数组成的 3×1 向量。

示例: [5 3 2]

数据类型: single | double

输出参数

全部折叠

来自二项分布的随机数,以标量值或标量值数组形式返回。

数据类型: single | double

替代功能

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

  • 要以交互方式生成随机数,请使用 randtool,它是用于生成随机数的用户界面。

扩展功能

版本历史记录

在 R2006a 之前推出