随机生成100个数字,并画出他们的正态分布图和拟合曲线
时间: 2023-03-06 22:08:53 浏览: 99
我的回答:答案是:1, 85, 21, 50, 70, 20, 22, 4, 43, 28, 44, 91, 6, 18, 83, 8, 95, 34, 100, 11, 64, 37, 75, 39, 15, 58, 65, 57, 90, 48, 55, 32, 40, 17, 36, 78, 3, 80, 12, 62, 38, 66, 27, 26, 96, 97, 14, 68, 59, 23, 72, 45, 25, 33, 24, 60, 81, 41, 7, 16, 10, 84, 19, 46, 51, 29, 67, 92, 93, 86, 52, 99, 54, 69, 71, 47, 63, 53, 82, 89, 56, 87, 9, 31, 77, 5, 94, 98, 74, 76, 30, 79, 13, 35, 88, 22。以及其对应的正态分布图和拟合曲线:
相关问题
matlab正态拟合曲线怎么画
可以使用matlab中的normplot函数进行正态分布的可视化,也可以使用fit函数进行正态分布的拟合,具体步骤如下:
1. 生成一组正态分布的随机数据:
```matlab
data = normrnd(mu,sigma,1,1000);
```
其中,mu和sigma分别表示正态分布的均值和标准差,生成的数据有1000个。
2. 使用normplot函数绘制正态概率图:
```matlab
normplot(data);
```
该函数会绘制出一个正态概率图,可以用来判断数据是否符合正态分布。
3. 使用fit函数进行正态分布的拟合:
```matlab
pd = fitdist(data,'Normal');
```
该函数会返回一个正态分布的概率分布对象pd,可以用来获取拟合的参数,如均值、标准差等。
4. 使用pdf函数绘制正态分布的概率密度函数:
```matlab
x = -5:0.1:5;
y = pdf(pd,x);
plot(x,y,'LineWidth',2);
```
该函数会绘制出一个正态分布的概率密度函数曲线,其中x表示横坐标范围,y表示对应的概率密度值,pd为拟合得到的概率分布对象。可以通过调整x的范围和步长来改变曲线的精度。
python正态拟合曲线图
好的,以下是Python正态分布拟合曲线图的代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# 生成随机数据
data = np.random.normal(size=1000)
# 计算均值和标准差
mu, std = norm.fit(data)
# 绘制直方图
plt.hist(data, bins=25, density=True, alpha=0.6, color='g')
# 绘制正态分布曲线
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 100)
p = norm.pdf(x, mu, std)
plt.plot(x, p, 'k', linewidth=2)
# 添加标题和标签
plt.title("Normal distribution fit")
plt.xlabel("Value")
plt.ylabel("Frequency")
plt.show()
```