Python:optimize.leastsq。 ValueError:具有多个元素的数组的真值是不明确的

时间:2016-04-15 19:02:10

标签: python scipy syntax-error least-squares ambiguous

除最后一行外,一切都有效。 我的目标是通过卡方检验计算最佳拟合。应用leastsq函数有问题。 z,d和d_err是给定的相同长度的数组(实验数据)。

File "C:\Python34\lib\site-packages\scipy\integrate\quadpack.py", line 360, in _quad
if (b != Inf and a != -Inf): ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

这是错误的完整信息:

 dir="/abc/def/ghi"
 findStr="/"
 replaceStr="/xyz/"
 finalPath=${dir/%findStr/replaceStr}

1 个答案:

答案 0 :(得分:2)

scipy.integrate.quad()的第三个参数是上限,必须是浮点数。您使用z作为NumPy数组的第三个参数。

  

签名:scipy.integrate.quad(func,a,b,...)

     

使用a将func从a集成到b(可能是无限间隔)   来自Fortran库QUADPACK的技术。

...

  

a:float

     

集成的下限(使用-numpy.inf表示-infinity)。

     

b:float

     

积分上限(使用numpy.inf表示+无穷大)。