生成对数正态分布的随机数,可以使用Python标准库中的random模块和numpy模块。
使用random模块生成对数正态分布的随机数
random模块中有一个lognormvariate()函数,可以生成对数正态分布的随机数。
import random
# 生成均值为mu,标准差为sigma的对数正态分布的随机数
mu = 3
sigma = 0.5
random.lognormvariate(mu, sigma)
其中,mu为对数正态分布的均值,sigma为对数正态分布的标准差。
该函数每次生成一个随机数。
使用numpy模块生成对数正态分布的随机数
numpy模块中有一个lognormal()函数,可以生成对数正态分布的随机数。
import numpy as np
# 生成均值为mu,标准差为sigma的对数正态分布的随机数
mu = 3
sigma = 0.5
np.random.lognormal(mu, sigma)
其中,mu为对数正态分布的均值,sigma为对数正态分布的标准差。
该函数每次生成一个随机数。
示例:
import random
import numpy as np
# 生成100个均值为3,标准差为0.5的对数正态分布的随机数
mu = 3
sigma = 0.5
# 使用random模块生成随机数的示例
random_nums = [random.lognormvariate(mu, sigma) for i in range(100)]
print(random_nums)
# 使用numpy模块生成随机数的示例
numpy_nums = np.random.lognormal(mu, sigma, 100)
print(numpy_nums)
该示例中,分别使用random模块和numpy模块生成了100个均值为3,标准差为0.5的对数正态分布的随机数,并分别打印输出。