我正在尝试做一些曲线拟合。我有一个测量曲线,我相信这将是我的Y
数据,我试图用一些其他曲线的加权和进行拟合,我相信这些曲线是我的X
数据。python中的scipy curvefit曲线拟合
我最近试图做到这一点的尝试如下,但我有几个错误,我决定询问是否有人能帮助指出我做错了什么?
import numpy as np
import scipy.optimize
ydata = np.array([1.0, 7.0, 4.0])
xdata = np.array([[0.0, 1.0],[3.5, 0.0],[1.0, 2.0]])
def fitfunc(xdata, *params):
ctx = 0.0
for n in np.nditer(c):
ctx = c[n]*xdata[:,n] + ctx
return ctx
# initial guesses for fitting parameters, answer for this simple example is 2.0, 1.0
c = np.array([0.6, 0.3])
# fit data using SciPy's Levenberg-Marquart method
nlfit, nlpcov = scipy.optimize.curve_fit(fitfunc, xdata, ydata, p0=[c], sigma=None)
print(nlfit)
道歉,因为无疑将是错误无处不在这一点,但我希望我的什么,我试图完成描述清楚
预先感谢您
您确定您正在处理曲线拟合问题吗?看来你正试图将向量'ydata'逼近为两个向量'xdata [:,0]','xdata [:,1]'的线性组合,这本质上是一个线性代数问题。 – Stelios