gpt4 book ai didi

python - 数组中一个点与其余点之间的距离

转载 作者:行者123 更新时间:2023-11-28 22:20:56 26 4
gpt4 key购买 nike

我正在编写一些代码来计算同一个数组中一个点与其余点之间的实际距离。该数组保存粒子在 3D 空间中的位置。有 N 个粒子,所以数组的形状是 (N,3)。我选择一个粒子并计算该粒子与其余粒子之间的距离,所有粒子都在一个阵列中。

这里有没有人知道如何做到这一点?

我目前拥有的:

xbox = 10
ybox = 10
zbox = 10
nparticles =15
positions = np.empty([nparticles, 3])
for i in range(nparticles):
xrandomalocation = random.uniform(0, xbox)
yrandomalocation = random.uniform(0, ybox)
zrandomalocation = random.uniform(0, zbox)
positions[i, 0] = xrandomalocation
positions[i, 1] = yrandomalocation
positions[i, 2] = zrandomalocation

这就是我现在所拥有的。我正在考虑使用 np.linalg.norm 但是我完全不确定如何将它实现到我的代码中(或者可能在循环中使用它)?

最佳答案

听起来您可以为此使用 scipy.distance.cdistscipy.distance.pdist。例如,要获取点 Xcoords 中的点的距离:

>>> from scipy.spatial import distance
>>> X = [(35.0456, -85.2672)]
>>> coords = [(35.1174, -89.9711),
... (35.9728, -83.9422),
... (36.1667, -86.7833)]
>>> distance.cdist(X, coords, 'euclidean')
array([[ 4.70444794, 1.6171966 , 1.88558331]])

pdist 类似,但只需要一个数组,就可以得到所有对之间的距离。

关于python - 数组中一个点与其余点之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48609781/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com