用python写出通过统计模拟生成3-4种分布的随机数,50次抽样,每次抽样2万次的代码
时间: 2024-10-24 11:17:24 浏览: 22
在Python中,你可以使用numpy库来生成各种分布的随机数,以及matplotlib库来进行可视化。这里是一个示例代码,它将生成正态分布、均匀分布和泊松分布的数据:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义生成随机数的函数
def generate_random_numbers(dist_type, size, loc=0, scale=1):
if dist_type == 'normal':
return np.random.normal(loc=loc, scale=scale, size=size)
elif dist_type == 'uniform':
return np.random.uniform(loc=loc, scale=scale, size=size)
elif dist_type == 'poisson':
return np.random.poisson(lam=scale, size=size)
# 设置分布种类和抽样次数
distributions = ['normal', 'uniform', 'poisson']
num_samples = 50
sample_size = 20000
# 创建空列表保存结果
results = {dist: [] for dist in distributions}
for _ in range(num_samples):
for dist in distributions:
results[dist].append(generate_random_numbers(dist, sample_size))
# 可视化每个分布的结果
fig, axs = plt.subplots(len(distributions), sharex=True)
for i, (dist, data) in enumerate(results.items()):
axs[i].hist(data, bins='auto', alpha=0.6, label=f"{dist}")
axs[i].set_title(f"Distribution: {dist}")
axs[-1].legend()
plt.tight_layout()
plt.show()
#
阅读全文