产生服从均值70,标准差为5的正态分布的随机数1000个,并绘制相对频率图
时间: 2024-05-09 22:20:50 浏览: 164
以下是Python代码实现:
```python
import numpy as np
import matplotlib.pyplot as plt
mean = 70
std = 5
n = 1000
data = np.random.normal(mean, std, n)
plt.hist(data, bins=20, density=True)
plt.xlabel('Value')
plt.ylabel('Relative Frequency')
plt.title('Normal Distribution with Mean=70 and Std=5')
plt.show()
```
解释:首先,导入NumPy和Matplotlib库。然后,定义均值、标准差和样本数量。接下来,使用NumPy的random.normal函数生成服从指定均值和标准差的正态分布的随机数,并将其存储在变量data中。最后,使用Matplotlib的hist函数绘制相对频率直方图,并添加横轴和纵轴标签以及图表标题。运行代码后,将生成一个相对频率图,显示服从均值70,标准差为5的正态分布的随机数的分布情况。
相关问题
随机产生一组10000个随机数(满足均值为0,标准差为1的标准正态分布)作为人脸图像的灰度值,使用hist()函数绘制灰度直方图。
为了生成一组10000个服从标准正态分布(均值为0,标准差为1)的随机数,并将其作为人脸图像的灰度值,我们可以使用Python的NumPy库。首先,确保已安装了NumPy,然后按照以下步骤操作:
```python
import numpy as np
# 生成10000个标准正态分布的随机数
random_gray_values = np.random.normal(0, 1, 10000)
# 绘制灰度直方图,范围从-3到3,以便观察大部分数据集中在0附近
plt.hist(random_gray_values, bins=50, range=(-3, 3), density=True)
plt.title('Standard Normal Distribution of Gray Scale Values')
plt.xlabel('Gray Scale Value')
plt.ylabel('Probability Density')
plt.show()
```
在这个代码片段中,`np.random.normal()`用于创建随机数数组,`bins`参数用于确定直方图的划分,`range`设置x轴的显示范围,`density=True`表示绘制的是概率密度而不是频率。
通过numpy随机数绘制正态分布图
在Python中,我们可以使用NumPy库来生成正态分布的随机数,并结合Matplotlib库来绘制图表。以下是一个简单的步骤:
首先,你需要安装这两个库,如果尚未安装,可以使用pip安装:
```bash
pip install numpy matplotlib
```
然后,你可以使用NumPy的`normal()`函数生成正态分布的数据,它接受均值(mean)、标准差(std-dev)以及需要生成的数量作为参数。例如,生成平均数为0,标准差为1的一组数据:
```python
import numpy as np
mean = 0
std_dev = 1
size = 1000 # 生成1000个随机样本
random_numbers = np.random.normal(mean, std_dev, size)
```
接着,使用Matplotlib的`hist()`函数绘制直方图:
```python
import matplotlib.pyplot as plt
plt.hist(random_numbers, bins='auto', alpha=0.5, color='g') # 'auto'选择合适的bins
plt.title('Normal Distribution')
plt.xlabel('Value')
plt.ylabel('Frequency')
# 显示图形
plt.show()
```
这里,`alpha`调整透明度,`color`设置颜色,`hist()`函数会自动计算并显示频率分布。
阅读全文