主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

random

R2025b

随机数

描述

R = random(name,A) 从由 name 和分布参数 A 指定的单参数分布族中返回一个随机数。

R = random(name,A,B) 从由 name 和分布参数 A 和 B 指定的双参数分布族中返回一个随机数。

示例

R = random(name,A,B,C) 从由 name 和分布参数 A、B 和 C 指定的三参数分布族中返回一个随机数。

R = random(name,A,B,C,D) 从由 name 和分布参数 A、B、C 和 D 指定的四参数分布族中返回一个随机数。

R = random(pd) 从概率分布对象 pd 中返回一个随机数。

示例

R = random(___,sz1,...,szN) 使用上述任一语法的输入参量,根据指定的概率分布生成一个随机数数组,其中 sz1,...,szN 表示每个维度的大小。

示例

R = random(___,sz) 使用上述任一语法的输入参量,根据指定的概率分布生成一个随机数数组,其中向量 sz 指定 size(r)。

示例

示例

全部折叠

从均值 μ 等于 1 且标准差 σ 等于 5 的正态分布中生成一个随机数。指定分布名称 'Normal' 和分布参数。

rng('default') % For reproducibility
mu = 1;
sigma = 5;
r = random('Normal',mu,sigma)
r = 
3.6883

创建一个正态分布对象,并使用该对象生成一个随机数。

创建均值 μ 等于 1、标准差 σ 等于 5 的正态分布对象。

mu = 1;
sigma = 5;
pd = makedist('Normal','mu',mu,'sigma',sigma);

从该分布中生成一个随机数。

rng('default') % For reproducibility
r = random(pd)
r = 
3.6883

保存随机数生成器的当前状态。然后从速率参数为 5 的泊松分布生成一个随机数。

s = rng;
r = random('Poisson',5)
r = 
5

将随机数生成器的状态恢复为 s,然后创建一个新随机数。值与之前相同。

rng(s);
r1 = random('Poisson',5)
r1 = 
5

创建一个由随机数组成并且大小与一个现有数组相同的矩阵。使用形状参数为 2 和 0、尺度参数为 1、位置参量为 0 的稳定分布。

A = [3 2; -2 1];
sz = size(A);
R = random('Stable',2,0,1,0,sz)
R = 2×2

    0.7604   -3.1945
    2.5935    1.2193

您可以将前两行代码合并成一行。

R = random('Stable',2,0,1,0,size(A))
R = 2×2

    0.4508   -0.6132
   -1.8494    0.4845

使用默认参数值创建一个威布尔概率分布对象。

pd = makedist('Weibull')
pd = 
  WeibullDistribution

  Weibull distribution
    A = 1
    B = 1

从该分布中生成随机数。

rng('default')  % For reproducibility
r = random(pd,10000,1);

使用服从威布尔分布拟合的 100 个 bin 构造一个直方图。

histfit(r,100,'weibull')

Figure contains an axes object. The axes object contains 2 objects of type bar, line.

创建一个标准正态概率分布对象。

pd = makedist('Normal')
pd = 
  NormalDistribution

  Normal distribution
       mu = 0
    sigma = 1

从该分布中生成一个 2×3×2 随机数数组。

r = random(pd,[2,3,2])
r = 
r(:,:,1) =

    0.5377   -2.2588    0.3188
    1.8339    0.8622   -1.3077


r(:,:,2) =

   -0.4336    3.5784   -1.3499
    0.3426    2.7694    3.0349

输入参数

全部折叠

概率分布名称,指定为下表中的概率分布名称之一。

name分布输入参数 A输入参数 B输入参数 C输入参数 D
'Beta'Beta Distributiona 第一个形状参数b 第二个形状参数不适用不适用
'Binomial'Binomial Distributionn 尝试次数p 每次尝试成功的概率不适用不适用
'BirnbaumSaunders'Birnbaum-Saunders Distributionβ 尺度参数γ 形状参数不适用不适用
'Burr'Burr Type XII Distributionα 尺度参数c 第一个形状参数k 第二个形状参数不适用
'Chisquare' 或 'chi2'卡方分布ν 自由度不适用不适用不适用
'Exponential'Exponential Distributionμ 均值不适用不适用不适用
'Extreme Value' 或 'ev'Extreme Value Distributionμ 位置参量σ 尺度参数不适用不适用
'F'F Distributionν1 分子自由度ν2 分母自由度不适用不适用
'Gamma'Gamma Distributiona 形状参数b 尺度参数不适用不适用
'Generalized Extreme Value' 或 'gev'Generalized Extreme Value Distributionk 形状参数σ 尺度参数μ 位置参量不适用
'Generalized Pareto' 或 'gp'Generalized Pareto Distributionk 尾部指数(形状)参数σ 尺度参数μ 阈值(位置)参数不适用
'Geometric'Geometric Distributionp 概率参数不适用不适用不适用
'Half Normal' 或 'hn'Half-Normal Distributionμ 位置参量σ 尺度参数不适用不适用
'Hypergeometric' 或 'hyge'Hypergeometric Distributionm 总体的大小k 总体中具有所需特征的项数n 抽取的样本数量不适用
'InverseGaussian'逆高斯分布μ 尺度参数λ 形状参数不适用不适用
'Logistic'逻辑分布μ 均值σ 尺度参数不适用不适用
'LogLogistic'Loglogistic Distributionμ 对数值的均值σ 对数值的尺度参数不适用不适用
'LogNormal'对数正态分布μ 对数值的均值σ 对数值的标准差不适用不适用
'Loguniform'Loguniform Distributiona 下部端点(最小值)b 上部端点(最大值)不适用不适用
'Nakagami'Nakagami 分布μ 形状参数ω 尺度参数不适用不适用
'Negative Binomial' 或 'nbin'Negative Binomial Distributionr 成功次数p 单次尝试的成功概率不适用不适用
'Noncentral F' 或 'ncf'Noncentral F Distributionν1 分子自由度ν2 分母自由度δ 非中心参数不适用
'Noncentral t' 或 'nct'Noncentral t Distributionν 自由度δ 非中心参数不适用不适用
'Noncentral Chi-square' 或 'ncx2'Noncentral Chi-Square Distributionν 自由度δ 非中心参数不适用不适用
'Normal'正态分布μ 均值 σ 标准差不适用不适用
'Pearson'Pearson Distributionμ 均值 σ 标准差γ 偏度κ 峰度
'Poisson'泊松分布λ 均值不适用不适用不适用
'Rayleigh'瑞利分布b 尺度参数不适用不适用不适用
'Rician'Rician Distributions 非中心参数σ 尺度参数不适用不适用
'Stable'Stable Distributionα 第一个形状参数β 第二个形状参数γ 尺度参数δ 位置参量
'T'Student's t Distributionν 自由度不适用不适用不适用
'tLocationScale't Location-Scale Distributionμ 位置参量σ 尺度参数ν 形状参数不适用
'Uniform'Uniform Distribution (Continuous)a 下部端点(最小值)b 上部端点(最大值)不适用不适用
'Discrete Uniform' 或 'unid'Uniform Distribution (Discrete)n 最大可观测值不适用不适用不适用
'Weibull' 或 'wbl'Weibull Distributiona 尺度参数b 形状参数不适用不适用

示例: 'Normal'

第一概率分布参数,指定为标量值或标量值组成的数组。

如果输入参量 A、B、C 和 D 中的一个或多个是数组,则数组大小必须相同。在这种情况下,random 将每个标量输入扩展为与数组输入大小相同的常量数组。请参阅 name 了解每个分布的 A、B、C 和 D 的定义。

数据类型: single | double

第二概率分布参数,指定为标量值或标量值组成的数组。

如果输入参量 A、B、C 和 D 中的一个或多个是数组,则数组大小必须相同。在这种情况下,random 将每个标量输入扩展为与数组输入大小相同的常量数组。请参阅 name 了解每个分布的 A、B、C 和 D 的定义。

数据类型: single | double

第三概率分布参数,指定为标量值或标量值组成的数组。

如果输入参量 A、B、C 和 D 中的一个或多个是数组,则数组大小必须相同。在这种情况下,random 将每个标量输入扩展为与数组输入大小相同的常量数组。请参阅 name 了解每个分布的 A、B、C 和 D 的定义。

数据类型: single | double

第四概率分布参数,指定为标量值或标量值组成的数组。

如果输入参量 A、B、C 和 D 中的一个或多个是数组,则数组大小必须相同。在这种情况下,random 将每个标量输入扩展为与数组输入大小相同的常量数组。请参阅 name 了解每个分布的 A、B、C 和 D 的定义。

数据类型: single | double

概率分布,指定为下表中的概率分布对象之一。

分布对象用于创建概率分布对象的函数或 App
BetaDistributionmakedist、fitdist、分布拟合器
BinomialDistributionmakedist、fitdist、分布拟合器
BirnbaumSaundersDistributionmakedist、fitdist、分布拟合器
BurrDistributionmakedist、fitdist、分布拟合器
EmpiricalDistributionfitdist
ExponentialDistributionmakedist、fitdist、分布拟合器
ExtremeValueDistributionmakedist、fitdist、分布拟合器
GammaDistributionmakedist、fitdist、分布拟合器
GeneralizedExtremeValueDistributionmakedist、fitdist、分布拟合器
GeneralizedParetoDistributionmakedist、fitdist、分布拟合器
HalfNormalDistributionmakedist、fitdist、分布拟合器
InverseGaussianDistributionmakedist、fitdist、分布拟合器
KernelDistributionfitdist、分布拟合器
LogisticDistributionmakedist、fitdist、分布拟合器
LoglogisticDistributionmakedist、fitdist、分布拟合器
LognormalDistributionmakedist、fitdist、分布拟合器
LoguniformDistributionmakedist
MultinomialDistributionmakedist
NakagamiDistributionmakedist、fitdist、分布拟合器
NegativeBinomialDistributionmakedist、fitdist、分布拟合器
NormalDistributionmakedist、fitdist、分布拟合器
PearsonDistributionmakedist
尾部具有广义帕累托分布的分段分布paretotails
PiecewiseLinearDistributionmakedist
PoissonDistributionmakedist、fitdist、分布拟合器
RayleighDistributionmakedist、fitdist、分布拟合器
RicianDistributionmakedist、fitdist、分布拟合器
StableDistributionmakedist、fitdist、分布拟合器
tLocationScaleDistributionmakedist、fitdist、分布拟合器
TriangularDistributionmakedist
UniformDistributionmakedist
WeibullDistributionmakedist、fitdist、分布拟合器

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

如果输入参量 A、B、C 和 D 中的一个或多个是数组,则在进行任何必要的标量扩展后,指定的维度 sz1,...,szN 必须与 A、B、C 和 D 的公共维度相匹配。sz1,...,szN 的默认值为公共维度。

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

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

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

示例: 5,3,2

数据类型: single | double

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

如果输入参量 A、B、C 和 D 中的一个或多个是数组,则在进行任何必要的标量扩展后,指定的维度 sz 必须与 A、B、C 和 D 的公共维度相匹配。sz 的默认值为公共维度。

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

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

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

示例: [5 3 2]

数据类型: single | double

输出参量

全部折叠

从指定的概率分布生成的随机数,以标量值或标量值数组的形式返回,其维度由 sz1,...,szN 或 sz 指定。

如果您指定分布参数 A、B、C 或 D,则 R 中的每个元素均是从 A、B、C 和 D 中对应元素所指定的分布中生成的随机数。

替代功能

  • random 是泛型函数,它按名称 name 或概率分布对象 pd 接受分布。使用分布特有的函数更快,例如正态分布特有的 randn 和 normrnd,二项分布特有的 binornd。有关特定于分布的函数的列表,请参阅Supported Distributions。

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

扩展功能

全部展开

版本历史记录

在 R2006a 之前推出

全部展开