2026a

# lognrnd


对数正态随机数

函数库: TyStatistics

# 语法

r = lognrnd(mu, sigma)

r = lognrnd(mu,sigma,sz1,...,szN)

# 说明

r = lognrnd(mu, sigma) 从分布参数 mu(对数值的均值)和 sigma(对数值的标准差)指定的对数正态分布生成一个随机数。


r = lognrnd(mu, sigma, sz1,...,szN) 生成对数正态随机数数组,其中 sz1,...,szN 指示每个维度的大小。

# 示例

生成对数正态随机数

根据对数正态分布的均值和方差中求得分布参数,并从分布中生成对数正态随机值。

根据均值和方差求得分布参数 mu 和 sigma。

using TyStatistics
using TyMath
m = 1
v = 2
mu = log((m^2) / sqrt(v + m^2))
mu = -0.5493061443340547
sigma = sqrt(log(v / (m^2) + 1))
sigma = 1.048147073968205
rng = MT19937ar(5489)
r = lognrnd(rng, mu, sigma)
r = 1.014350082654154
根据现有数组克隆大小

创建一个由对数正态分布的随机数组成并且大小与现有数组相同的矩阵。

using TyStatistics
using TyMath
rng = MT19937ar(5489)
A = [3 2; -2 1]
sz = size(A)
R = lognrnd(rng,0,1,sz...)
R = 2×2 Matrix{Float64}:
 1.71201  0.104471
 6.25815  2.3683

# 输入参数

mu - 对数值的均值
标量值 | 标量值组成的数组

对数正态分布的对数值的均值,指定为标量值或由标量值组成的数组。

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

示例: [0 1 2; 0 1 2]

数据类型: Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128

sigma - 对数值的标准差
非负标量值 | 非负标量值组成的数组

对数正态分布的对数值的标准差,指定为非负标量值或由非负标量值组成的数组。

如果 sigma 为零,则输出 r 始终等于 exp(mu)。

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

示例: [1 1 1; 2 2 2]

数据类型: Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128

sz1,...,szN - 每个维度的大小(作为单独参量)
整数

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

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

  • 如果指定单个值 sz1,则 r 是长度为 sz1 的向量;
  • 如果任一维度的大小为 0,则 r 是空数组;
  • 如果任一维度的大小为负数,则会报错。

示例: 5,3,2

数据类型: Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128

# 输出参数

r - 对数正态分布随机数
标量值 | 标量值组成的数组

对数正态随机数,以标量值或标量值数组的形式返回,其维度由 sz1,...,szN 或 sz 指定。r 中的每个元素均是从 mu 和 sigma 中对应元素所指定的分布中生成的随机数。

# 详细信息

对数正态分布

对数正态分布是一种概率分布,其对数具有正态分布。

对数正态随机变量的均值 和方差 是对数正态分布参数 的函数:

此外,您可以根据均值 和方差 计算对数正态分布参数

# 另请参阅

random | lognpdf | logncdf | logninv | lognfit | lognlike | lognstat | LognormalDistribution

# 主题

对数正态分布