Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用二维坐标之间的距离填充numpy zero数组_Python_Python 3.x_Numpy_Numpy Ndarray - Fatal编程技术网

Python 用二维坐标之间的距离填充numpy zero数组

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

我想以前有人问过这个问题,但我正在尝试实现以下内容:我有一个元组列表,其中包含我拥有的N个粒子的二维坐标。我定义了一个numpy.zeros((N,N))数组来存储它们之间的距离。我怎么能做到最快

提前感谢您的帮助!:)

编辑添加:我已经编写了一个函数来测量两个元组之间的距离,并且想知道如何迭代它

我的测距功能:

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做到这一点?