Python 中的 random.expovariate() 方法生成遵循指数分布的随机数。指数分布是一种连续概率分布,通常用于对泊松过程中事件之间的时间进行建模。它的特征是参数 lambda,即 rate 参数。
参数 lambda 是 1.0 除以所需的分布均值。如果 lambda 为正数,则函数返回从 0 到正无穷大的值,表示事件之间的时间。如果 lambda 为负数,它将返回从负无穷大到 0 的值。
语法
以下是 expovariate() 方法的语法 -
参数
此方法接受单个参数 -
- lambda:这是指数分布的 rate 参数。
返回值
此方法返回随机数,该随机数遵循具有指定速率的指数分布。
示例 1
让我们看一个使用 random.expovariate() 方法生成单个随机数的基本示例。
以下是输出 -
Random value from Exponential distribution: 0.895003194051671
注意:由于程序的随机性,每次运行程序时生成的 Output 都会有所不同。
示例 2
此示例使用 random.expovariate() 方法生成 10 个间隔时间,平均速率为每秒 15 个到达。
在执行上述代码时,您将获得如下所示的类似输出 -
0.05535939722671001
0.0365294773838789
0.0708190008748821
0.11920422853122664
0.014966394641357258
0.05936796131161308
0.09168815851495513
0.18426575850779056
0.03533591768827803
0.08367815594819812
0.0365294773838789
0.0708190008748821
0.11920422853122664
0.014966394641357258
0.05936796131161308
0.09168815851495513
0.18426575850779056
0.03533591768827803
0.08367815594819812
示例 3
这是另一个示例,它使用 random.expovariate() 方法生成并显示一个直方图,该直方图显示了 rate 参数为 100 的指数分布中样本的整数部分的频率分布。
上述代码的输出如下 -
