的我与scipy.optimize.minimize的工作,而且我喜欢这个scipy.optimize.minimize跟踪目标函数
def foo(A,x,y,z):
test = my_function(A[0],A[1],A[2],x,y,z) return test
优化3个参数与功能在这个答案,我资助的一些见解 How to display progress of scipy.optimize function? 所以我想出了这个功能:
def callbackF(Xi,x,y,z)
global Nfeval
print '{0:4d} {1: 3.6f} {2: 3.6f} {3: 3.6f} {4: 3.6f}'.format(Nfeval, Xi[0], Xi[1], Xi[2], foo(Xi , x,y,z))
Nfeval += 1
所以我的代码看起来像这样
Optimal = minimize(fun=foo, x0=[fi, alfa, Ks ] , args=(x,y,z), method='BFGS', callback=callbackF , tol=1e-2)
,但我得到这个错误:
TypeError: callbackF() takes exactly 4 arguments (1 given)
我理解的错误,但我应该怎么避免呢?