集成导致类型错误:'数字浮点数64'对象不能解释为整数

2024-10-08 18:30:37 发布

您现在位置:Python中文网/ 问答频道 /正文

亲爱的朋友,我写了一个巨大的代码,运行Python后发送错误: 抱歉,如果这个问题是业余的。

dacdm = 1/(z+1) * cdm
TypeError: 'numpy.float64' object cannot be interpreted as an integer

这是错误的最后两句话。Python提到我的以下部分代码出错,因此我决定错误来自这里:

^{pr2}$

我找不到问题的根源。

更多信息,我把整个错误放在这里:

 Traceback (most recent call last):
 File "C:\Users\esadr21\Desktop\Polytropic\Polytropic datasets.py", line 348, in <module>
 L = np.exp(-0.5 * (TOTAL(DM0n[i], H0n[i], An[i], alphan[i], bn[i], Mn[i], Ombn[i]) - TOTAL(DM0o[i-1], H0o[i-1], Ao[i-1], alphao[i-1], bo[i-1], Mo[i-1], Ombo[i-1])))    # L = exp(-( x^2 )/2)
  File "C:\Users\esadr21\Desktop\Polytropic\Polytropic datasets.py", line 328, in TOTAL
 total =  SN(DM0, H0, A, alpha, b, M) + BAO(DM0, H0, A, alpha, b, Omb) +  CMB(Omb, H0, DM0, A, alpha, b) + CC(DM0, H0, A, alpha, b) + SGL(DM0, H0, A,  alpha, b) + fgas(DM0, H0, A, alpha, b, Omb)
  File "C:\Users\esadr21\Desktop\Polytropic\Polytropic datasets.py", line 322, in fgas
num = num + fg(gsgs, DM0, H0, A, alpha, b, Omb)
 File "C:\Users\esadr21\Desktop\Polytropic\Polytropic datasets.py", line 315, in fg
f_th = (0.824 /(1 + 0.19 * sqrt(h)))* (Omb/DM0) * (DA_LCDM(zgas[gg], H0, DM0)/DA(zgas[gg], DM0, H0, A, alpha, b))
 File "C:\Users\esadr21\Desktop\Polytropic\Polytropic datasets.py", line 163, in DA_LCDM
dacdm = 1/(z+1) * cdm
TypeError: 'numpy.float64' object cannot be interpreted as an integer

非常感谢你。


Tags: inpyalpha错误lineusersfiledatasets
1条回答
网友
1楼 · 发布于 2024-10-08 18:30:37

cdm是一个序列,而不是一个数字。也许quad是{a1},它返回最多5个元素的元组,而不仅仅是一个整数。^带有序列的{}需要一个表示重复序列次数的整数;例如,我们

>>> 3 * (1, 2, 3)
(1, 2, 3, 1, 2, 3, 1, 2, 3)

如果quadscipy.integrate.quad,那么积分就是元组的第一个元素,所以如果你想要积分,就把它从结果中索引出来:

^{pr2}$

另外,在将来,请阅读文档中您所使用的函数。在

相关问题 更多 >

    热门问题