【发布时间】:2015-09-14 14:35:34
【问题描述】:
我想在 scipy 中使用 curve_fit 为一些数据拟合曲线。在我搜索语法后,我发现了这个,
import numpy as np
from scipy.optimize import curve_fit
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))
popt, pcov = curve_fit(func, xdata, ydata)
但是文档不是很清楚,特别是关于函数func的参数,我知道x是自变量值的numpy数组,但是a、b和c是什么?还有,这条线是什么意思,
a * np.exp(-b * x) + c
计算 y 我们用自变量和其他参数调用 func,但是 ydata 是什么?而我们为什么要这样计算呢,
ydata = y + 0.2 * np.random.normal(size=len(xdata))
最后一件事,如果我在某个函数中通过 scipy 获得拟合模型(方程),我该如何在另一个函数中使用它?
感谢任何帮助。 谢谢。
【问题讨论】:
标签: python numpy scipy curve-fitting