我正在嘗試做一些曲線擬合。我有一個測量曲線,我相信這將是我的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