python中的array+1_sum(array,1)在Python中给出“nan”

在尝试从文本文件读取并处理向量数据时,遇到在使用numpy求和函数后出现'nan'(非数字)的问题。代码涉及将字符串转换为浮点数,计算坐标,并使用牛顿引力定律。'nan'可能源于数据处理过程中的错误,例如除以零或无法转换的字符串。需要检查数据和计算逻辑以找出导致'nan'的原因。
摘要由CSDN通过智能技术生成

首先,我知道nan代表“不是一个数字”,但我不确定我是如何在我的代码中得到一个无效的数字。我要做的是使用一个python脚本来读取一个向量列表(x,y,z)的文件,然后将其转换为一个长数组值,但是如果我不使用这个文件,我会生成一个生成随机数的for循环,我不会得到任何“nan”

在这之后,我使用牛顿引力定律来计算恒星的位置,F=GMm/r^2来计算位置,然后数据通过一个socket服务器发送到我为观看模拟而开发的c可视化软件。不幸的是,我的python脚本进行计算,但是很难正常工作。在poslist = []

plist = []

mlist = []

lineList = []

coords = []

with open("Hyades Vectors.txt", "r") as text_file:

content = text_file.readlines()

#remove /n

for i in range(len(content)):

for char in "\n":

line = content[i].replace(char,"")

lineList.append(line)

lines = array(lineList)

#split " " within each line

for i in range(len(lines)):

coords.append(lines[i].split(" "))

coords = array(coords)

#convert coords string to integer

for i in range(len(coords)):

x = np.float(coords[i,0])

y = np.float(coords[i,1])

z = np.float(coords[i,2])

poslist.append((x,y,z))

pos = array(poslist)

通常在第二次通过这个循环之后发送nan

^{pr2}$

我做错什么了??????我不完全理解nan,但如果我的可视化软件是读取nan,我就不能拥有它们,因为那样的话,就没有什么东西能提供视觉效果了。我知道错误是sum(F,1),我把所有的东西都打印出来,直到我得到一个nan,这就是哪里,但是如何从求和中得到nan呢。以下是我正在阅读的文本文件的部分:51.48855 4.74229 -85.24499

121.87149 11.44572 -140.79644

59.81673 68.8417 18.76767

31.95567 37.23007 6.59515

29.81066 34.76371 6.18374

41.35333 49.52844 14.12314

32.10481 38.46982 7.96628

48.13239 60.4019 37.45474

26.37793 34.53385 15.9054

76.02468 103.98826 25.96607

51.52072 71.17618 32.09829

请帮忙

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值