np.sqrt中的奇点

时间:2019-03-24 12:54:11

标签: python numpy sqrt

奇怪的RuntimeWarning:在sqrt中遇到无效的值

我正在执行一项任务,其中我从hdf5文件中获取大量粒子(128 ** 3)的位置,然后计算它们之间的相对距离。

运行代码,我在sqrt函数中检测到意外的RuntimeWarning。处理代码后,我在以下几行中找出了问题所在:

#This lines presented the problem
((Pos-Pos[0])[:,0]**2)
np.sqrt(((Pos-Pos[0])[:,0]**2))

#This lines do not present the problem
((Pos-Pos[0])[:,0]**2)[1:]
np.sqrt(((Pos-Pos[0])[1:,0]**2)[1:])

#This lines do not present the problem
((Pos-Pos[0])[:,0]**2)[:100]
np.sqrt(((Pos-Pos[0])[:,0]**2)[:100])

#My proposition to solve it
((Pos-Pos[0])[:,0]**2)
np.sqrt(((Pos-Pos[0])[:,0]**2)+1e-10)

我不太了解这种麻烦的性质。您能帮我更好地理解吗?

0 个答案:

没有答案