python 散点高斯拟合代码
时间: 2024-10-04 08:03:02 浏览: 30
opencv+python 离散点的车道线拟合.zip
5星 · 资源好评率100%
在Python中,你可以使用matplotlib库中的scatter函数绘制散点图,然后利用scipy.optimize库中的curve_fit函数来对数据进行高斯分布拟合。以下是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
# 定义高斯函数
def gaussian(x, amplitude, mean, standard_deviation):
return amplitude * np.exp(-((x - mean) / standard_deviation)**2)
# 假设我们有如下散点数据
data = np.random.normal(size=100) # 示例数据,实际数据应来自你的实验或测量
x_data = np.linspace(min(data), max(data), len(data)) # x轴范围
# 使用curve_fit进行拟合
params, _ = curve_fit(gaussian, x_data, data)
# 计算拟合曲线
y_fit = gaussian(x_data, params[0], params[1], params[2])
# 绘制散点图和拟合线
plt.scatter(x_data, data, label='Data')
plt.plot(x_data, y_fit, 'r', label='Fit', linewidth=2)
plt.legend()
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Scatter plot with Gaussian fit')
plt.show()
阅读全文