我想这之前已经问过了,但我正在尝试实现以下内容:我有一个元组列表,其中包含我拥有的 N 个粒子的 2D 坐标。我定义了一个numpy.zeros((N,N((数组来存储它们之间的距离。我怎样才能最快地做到这一点?
提前感谢您的任何帮助! :)
编辑补充:我已经写了一个函数来测量两个元组之间的距离,并且想知道如何迭代它!
我的测距功能:
def calc_distance(p1, p2):
distance = numpy.linalg.norm(p1 - p2)
return distance
距离矩阵是你要找的:
coords = [(0,0), (1,1), (3,2)]
from scipy.spatial import distance_matrix
distance_matrix(coords, coords)
输出:
array([[0. , 1.41421356, 3.60555128],
[1.41421356, 0. , 2.23606798],
[3.60555128, 2.23606798, 0. ]])