模拟10000次12个[0,1]均匀分布的和,画出其直方图。根据大数定律,画图对应的正态分布图,与之比较。图不要太简陋。
时间: 2024-10-21 11:10:49 浏览: 19
首先,为了模拟10,000次12个独立随机变量在[0,1]区间内的均匀分布,并计算它们的和,我们可以使用Python的random库。下面是一个简单的步骤:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义函数生成随机数并求和
def generate_sum(n_random_numbers):
return sum(np.random.uniform(0, 1, n_random_numbers))
# 生成10,000次随机和
sample_sums = [generate_sum(12) for _ in range(10000)]
# 绘制原始数据的直方图
plt.hist(sample_sums, bins='auto', density=True, alpha=0.5, label='Uniform Distribution Sum')
plt.title('Histogram of 10,000 Random Sums (Uniform Distribution)')
plt.xlabel('Sum')
plt.ylabel('Probability Density')
# 计算样本均值和标准差,应用大数定律
mean = np.mean(sample_sums)
std_dev = np.std(sample_sums)
# 由于样本足够大,根据中心极限定理,近似正态分布
normal_dist = np.random.normal(mean, std_dev, size=len(sample_sums))
plt.plot(normal_dist, 'r-', linewidth=2, label='Approximate Normal Distribution')
# 添加标签和标题
plt.legend()
plt.show()
阅读全文