我是优化的新手,并且在使用最小二乘最小化方面遇到了麻烦。 这是我到目前为止尝试的代码:
def func(tpl,x): 返回1./exp(x/360。* tpl)
def errfunc(tpl,x,y): func(tpl,x) - y
// x轴
xdata = np.array([181,274])
//最小化和(y - func(x))** 2
ydata = np.array([0.992198836646864,0.992996067735572])
//初步猜测
tplInitial1 =(0.031,0.032) popt,pcov = leastsq(errfunc,tplInitial1 [:],args =(xdata,ydata)) print popt
我希望最小化函数返回[0.032359,0.03071],但是“只有lenght-1数组可以转换为Python标量”。 任何帮助表示赞赏。谢谢。
答案 0 :(得分:0)
我怀疑您使用math.exp
而不是numpy.exp
(即标量版本而不是数组版本)。尝试使用from numpy import exp
。