Python random.expovariate()
random模块用于在Python中生成随机数。实际上不是随机的,而是用于生成伪随机数。这意味着这些随机生成的数字可以被确定。
random.expovariate()
expovariate()是随机模块的一个内置方法。它用于返回一个具有指数分布的随机浮点数。
语法:Random.expovariate(lambda)。
参数 :lambda : 一个非零值
返回:一个随机的指数分布浮点数,如果参数是正数,结果范围是0到正无穷大,如果参数是负数,结果范围是0到负无穷大。
例1:
# import the random module
import random
# determining the values of the parameter
lambda = 1.5
# using the expovariate() method
print(random.expovariate(lambda))
输出:
0.22759592233982198
例2:我们可以多次生成数字,并绘制图表,观察指数分布。
# import the required libraries
import random
import matplotlib.pyplot as plt
# store the random numbers in a
# list
nums = []
alpha = 3
for i in range(100):
temp = random.paretovariate(alpha)
nums.append(temp)
# plotting a graph
plt.plot(nums)
plt.show()
输出:
例3:我们可以创建一个直方图来观察指数分布的密度。
# import the required libraries
import random
import matplotlib.pyplot as plt
# store the random numbers in a list
nums = []
lambda = 1.5
for i in range(10000):
temp = random.expovariate(lambda)
nums.append(temp)
# plotting a graph
plt.hist(nums, bins = 200)
plt.show()
输出: