【发布时间】:2016-08-06 07:59:40
【问题描述】:
我正在运行代码来生成 B 中的位置掩码,该掩码比 D 中的位置更靠近 A 中的位置。
N = [[0 for j in range(length_B)] for i in range(length_A)]
dSquared = D*D
for i in range(length_A):
for j in range(length_B):
if ((A[j][0]-B[i][0])**2 + (A[j][1]-B[i][1])**2) <= dSquared:
N[i][j] = 1
对于包含数万个位置的 A 和 B 列表,此代码需要一段时间。我很确定有一种方法可以对其进行矢量化,以使其运行得更快。谢谢。
【问题讨论】:
-
不应该是
N[j][i] = 1吗? -
@Divakar – 你是对的,我更改了要在此处发布的项目名称以使其更简单,并且感到困惑。我已相应地更正了代码。
标签: python numpy scipy vectorization euclidean-distance