问题描述
我适合物流功能 X形:(5,2)
def logifunc(x,A,x0,k):
return A / (1 + np.exp(-k*(x-x0)))
popt,pcov = curve_fit(logifunc,X,y)
我的X是:
array([[ 0.000e+00,1.000e+00,2.000e+00,3.000e+00,4.000e+00],[-1.000e+00,5.480e+02,6.430e+02,9.200e+02,1.406e+03]])
y是:
array([ 548.,643.,920.,1406.,2075.])
我收到错误消息:
TypeError Traceback (most recent call last)
<ipython-input-68-acf83ee46c52> in <module>()
14 X = np.vstack((t.ravel(),np.array(P).ravel()))
15
---> 16 popt,y)
1 frames
/usr/local/lib/python3.6/dist-packages/scipy/optimize/minpack.py in leastsq(func,args,Dfun,full_output,col_deriv,ftol,xtol,gtol,maxfev,epsfcn,factor,diag)
390
391 if n > m:
--> 392 raise TypeError('Improper input: N=%s must not exceed M=%s' % (n,m))
393
394 if epsfcn is None:
TypeError: Improper input: N=3 must not exceed M=2
解决方法
通常,N是要素数量,M是示例点(行)的数量。因此,我相信,因为您的行数少于模型难以拟合曲线的特征数。