python+拟合正态分布
时间: 2023-12-13 20:05:13 浏览: 228
使用Python实现正态分布、正态分布采样
以下是使用Python拟合正态分布的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
# 定义正态分布函数
def normal_distribution(x, mu, sigma, A):
return A * np.exp(-(x - mu) ** 2 / (2 * sigma ** 2))
# 生成随机数据
data = np.random.normal(0, 1, 10000)
# 绘制直方图
plt.hist(data, bins=50, density=True, alpha=0.6, color='g')
# 拟合正态分布曲线
params, cov = curve_fit(normal_distribution, xdata=np.linspace(-4, 4, 100), ydata=y, p0=[0, 1, 1])
# 绘制拟合曲线
x = np.linspace(-4, 4, 100)
y_fit = normal_distribution(x, params[0], params[1], params[2])
plt.plot(x, y_fit, 'r-', linewidth=2)
# 显示图像
plt.show()
```
其中,`curve_fit`函数用于拟合正态分布曲线,`params`为拟合后的参数,`cov`为协方差矩阵。
阅读全文