错误:索引错误:无法索引0维数组【scipy.integrate.quadrature】

0 投票
1 回答
1689 浏览
提问于 2025-04-17 23:08

我正在尝试使用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 对象。

撰写回答