错误:索引错误:无法索引0维数组【scipy.integrate.quadrature】
我正在尝试使用scipy.integrate.romberg进行积分,但遇到了一个关于索引错误(IndexError)的错误信息:
ERROR: IndexError: 0-d arrays can't be indexed [scipy.integrate.quadrature]
Traceback (most recent call last):
File "ucmh.py", line 137, in <module>
main()
File "ucmh.py", line 128, in main
avg_rho_ucmh_squared(mDM, sigma_v, 10**5)
File "ucmh.py", line 119, in avg_rho_ucmh_squared
return n_ucmh(z) * integrate.romberg(integrand,0,R_h(z))
File "/usr/lib/python2.7/dist-packages/scipy/integrate/quadrature.py", line 596, in romberg
ordsum = _difftrap(vfunc, interval, n)
File "/usr/lib/python2.7/dist-packages/scipy/integrate/quadrature.py", line 477, in _difftrap
return 0.5*(function(interval[0])+function(interval[1]))
File "/usr/lib/python2.7/dist-packages/scipy/integrate/quadrature.py", line 94, in vfunc
y0 = func(x[0], *args)
IndexError: 0-d arrays can't be indexed
这可能是什么原因导致的呢?
1 个回答
0
我的错误是,我传给积分的一个输入是一个 astropy.units 对象,所以它看起来像是一个数组。我应该传的是数值,而不是这个 astropy.units 对象。