Python任意形式函数拟合代码
时间: 2023-12-27 13:02:45 浏览: 26
以下是使用Python进行任意形式函数拟合的示例代码:
``` 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)
# 绘制拟合结果
plt.plot(xdata, ydata, 'b-', label='data')
plt.plot(xdata, func(xdata, *popt), 'r-', label='fit')
plt.legend()
plt.show()
```
在上面的代码中,我们首先定义了要拟合的函数 `func`,然后使用 `numpy` 生成了用于拟合的数据 `xdata` 和 `ydata`。接着,我们使用 `scipy.optimize.curve_fit` 函数进行拟合,该函数的第一个参数是要拟合的函数,第二个参数是用于拟合的 x 数据,第三个参数是用于拟合的 y 数据。该函数返回两个值,第一个是拟合后得到的函数的参数,第二个是协方差矩阵。最后,我们使用 `matplotlib` 绘制了拟合结果。