曲线拟合python程序
时间: 2023-06-22 11:33:16 浏览: 80
以下是一个简单的曲线拟合 Python 程序示例,使用了 Scipy 库中的 curve_fit 函数:
```python
import numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
# 定义要拟合的函数
def func(x, a, b, c):
return a * np.exp(-b * x) + c
# 生成一些随机数据作为样本
xdata = np.linspace(0, 4, 50)
y = func(xdata, 2.5, 1.3, 0.5)
ydata = y + 0.2 * np.random.normal(size=len(xdata))
# 使用 curve_fit 进行拟合
popt, pcov = curve_fit(func, xdata, ydata)
# 输出拟合结果
print("拟合函数参数:", popt)
# 绘制原始数据和拟合结果
plt.scatter(xdata, ydata, label='data')
plt.plot(xdata, func(xdata, *popt), 'r-', label='fit')
plt.legend()
plt.show()
```
在这个示例中,我们定义了一个要拟合的函数 func,使用 np.linspace 生成了一些 x 值,然后使用 func 生成了对应的 y 值,并加入了一些随机噪声。然后使用 curve_fit 函数进行拟合,得到了拟合函数的参数 popt。最后使用 Matplotlib 绘制了原始数据和拟合结果。
阅读全文