Python 用二维坐标之间的距离填充numpy zero数组
我想以前有人问过这个问题,但我正在尝试实现以下内容:我有一个元组列表,其中包含我拥有的N个粒子的二维坐标。我定义了一个numpy.zeros((N,N))数组来存储它们之间的距离。我怎么能做到最快 提前感谢您的帮助!:) 编辑添加:我已经编写了一个函数来测量两个元组之间的距离,并且想知道如何迭代它 我的测距功能:Python 用二维坐标之间的距离填充numpy zero数组,python,python-3.x,numpy,numpy-ndarray,Python,Python 3.x,Numpy,Numpy Ndarray,我想以前有人问过这个问题,但我正在尝试实现以下内容:我有一个元组列表,其中包含我拥有的N个粒子的二维坐标。我定义了一个numpy.zeros((N,N))数组来存储它们之间的距离。我怎么能做到最快 提前感谢您的帮助!:) 编辑添加:我已经编写了一个函数来测量两个元组之间的距离,并且想知道如何迭代它 我的测距功能: def calc_距离(p1、p2): 距离=numpy.linalg.norm(p1-p2) 返回距离 距离矩阵是您需要的: coords = [(0,0), (1,1), (3,2
def calc_距离(p1、p2):
距离=numpy.linalg.norm(p1-p2)
返回距离
距离矩阵是您需要的:
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. ]])
距离矩阵就是您要寻找的:
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. ]])
嘿,万分感谢,这正是我想要的!编辑:有没有办法用numpy做到这一点?嘿,万分感谢,这正是我想要的!编辑:有没有办法用numpy做到这一点?