python中高斯拟合代码
时间: 2023-11-12 12:45:24 浏览: 152
2d_gaussian_fit:用于 2D 高斯拟合的 Python 代码,从 scipy 食谱修改而来
在Python中,可以使用SciPy库来实现高斯拟合。以下是一个简单的高斯拟合代码示例:
```python
import numpy as np
from scipy.optimize import curve_fit
# 定义高斯函数
def gaussian(x, amplitude, mean, stddev):
return amplitude * np.exp(-((x - mean) / stddev) ** 2)
# 生成示例数据
x = np.linspace(0, 10, 100)
y = gaussian(x, 3, 5, 0.5) + np.random.normal(0, 0.2, len(x)) # 添加噪声
# 进行拟合
initial_guess = [1, 1, 1] # 初始猜测参数
params, params_covariance = curve_fit(gaussian, x, y, p0=initial_guess)
# 输出拟合参数
print("拟合参数:")
print("振幅 =", params[0])
print("均值 =", params[1])
print("标准差 =", params[2])
```
在上述代码中,首先定义了一个高斯函数 `gaussian(x, amplitude, mean, stddev)`。然后,使用numpy生成了一些示例数据,其中包含了噪声。接下来,使用`curve_fit`函数进行拟合,传入了待拟合的数据(`x`和`y`)以及初始猜测参数(`p0=initial_guess`)。最后,打印输出了拟合得到的参数。
请注意,这只是一个简单的示例代码,实际应用中可能需要根据具体情况进行调整和优化。
阅读全文