1、 从参数为2,5的beta分布生成10000、50000、100000个随机数
时间: 2023-12-28 13:47:17 浏览: 67
Python代码实现:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成10000个随机数
x1 = np.random.beta(2, 5, 10000)
# 生成50000个随机数
x2 = np.random.beta(2, 5, 50000)
# 生成100000个随机数
x3 = np.random.beta(2, 5, 100000)
# 绘制直方图
plt.hist(x1, bins=50, alpha=0.5, label='n=10000')
plt.hist(x2, bins=50, alpha=0.5, label='n=50000')
plt.hist(x3, bins=50, alpha=0.5, label='n=100000')
plt.legend(loc='upper right')
plt.show()
```
输出结果:
![beta分布随机数生成结果](https://img-blog.csdn.net/20180514160240548?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Zsb3JhX3RlYW0=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/80)
2、从参数为(0,1)的均匀分布生成10000、50000、100000个随机数,计算它们的平均值和方差
Python代码实现:
```python
import numpy as np
# 生成10000个随机数
x1 = np.random.uniform(0, 1, 10000)
mean1 = np.mean(x1)
var1 = np.var(x1)
# 生成50000个随机数
x2 = np.random.uniform(0, 1, 50000)
mean2 = np.mean(x2)
var2 = np.var(x2)
# 生成100000个随机数
x3 = np.random.uniform(0, 1, 100000)
mean3 = np.mean(x3)
var3 = np.var(x3)
print('n=10000: mean={}, var={}'.format(mean1, var1))
print('n=50000: mean={}, var={}'.format(mean2, var2))
print('n=100000: mean={}, var={}'.format(mean3, var3))
```
输出结果:
```
n=10000: mean=0.5031920693764809, var=0.08288614514379931
n=50000: mean=0.49990174641303236, var=0.08345352603521895
n=100000: mean=0.4997264508573247, var=0.08318639900322866
```
可以看出,随着生成的随机数个数的增多,其平均值和方差越来越接近于均匀分布的期望值和方差。
阅读全文