3
我有一個python如何在嘗試曲線擬合時評估x的數組的形式(f1(x),f2(x))向量函數的問題。如何正確定義scipy的矢量函數curve_fit
import numpy as np
from scipy.optimize import curve_fit
def func(x,a,b,c):
return np.array([a*x**b+c,a*x**b+c+1])
ydata = np.array([[1,2],[3,4],[5,6],[7,8]],dtype=float)
xdata=np.array([1,2,3,4], dtype=float)
popt,pcov = curve_fit(func, xdata, ydata)
給出 「ValueError異常:操作數不能與形狀(2,4)(4,2)一起廣播」 移調數據被裝配:
ydata=np.array([[1,2],[3,4],[5,6],[7,8]],dtype=float).transpose()
給出「類型錯誤:不正確的輸入:N = 3不得超過M = 2「,因爲現在我的函數值比參數少。好吧,我知道爲什麼我不能適應這種情況。所以,我需要轉置函數值:「從函數調用的結果是不浮動的正確陣列」
def func(x,a,b,c):
return np.array([a*x**b+c,a*x**b+c+1]).transpose()
這給了我
如何從這樣的問題得到解決方案?在數學上,如果數據符合模型,應該很好地確定。
[相關問題](http://stackoverflow.com/questions/41090791/how-do-i-optimize-and-find-the-coefficients- for-two-equations-in-in) – Stelios
您可能也對我的答案感興趣:http://stackoverflow.com/questions/40829791/fitting-a-vector-function-with-curve-fit-in-scipy/40961491#40961491 – tBuLi