4
我有python代碼,產生數組x,y和z的3元組列表。我想用scipy curve_fit來擬合z = f(x,y)。下面是一些非工作代碼擬合3D點python
A = [(19,20,24), (10,40,28), (10,50,31)]
def func(x,y,a, b):
return x*y*a + b
我怎樣才能得到蟒蛇,以適應此功能可將數據在列表中A
?
我有python代碼,產生數組x,y和z的3元組列表。我想用scipy curve_fit來擬合z = f(x,y)。下面是一些非工作代碼擬合3D點python
A = [(19,20,24), (10,40,28), (10,50,31)]
def func(x,y,a, b):
return x*y*a + b
我怎樣才能得到蟒蛇,以適應此功能可將數據在列表中A
?
func
必須是數據(x和y)。func
的其餘參數表示參數。所以,你需要修改func
一點:
def func(data, a, b):
return data[:,0]*data[:,1]*a + b
curve_fit
功能。data
(在 形成一個陣列的x
和y
)。z
)。因此,例如(在這種情況下a
和b
):
params, pcov = optimize.curve_fit(func, A[:,:2], A[:,2], guess)
import scipy.optimize as optimize
import numpy as np
A = np.array([(19,20,24), (10,40,28), (10,50,31)])
def func(data, a, b):
return data[:,0]*data[:,1]*a + b
guess = (1,1)
params, pcov = optimize.curve_fit(func, A[:,:2], A[:,2], guess)
print(params)
# [ 0.04919355 6.67741935]
將該溶液當且僅當x和y以相同維度爲特徵時才起作用。如何將這個代碼推廣到不同形狀的x,y? – TommasoF 2017-11-01 09:41:42