以下代码正是我想要的:计算从A到a,从B到b的每一对的所有距离(a,b)。
是否有一种更有效的方式使用numpy广播而不是平铺呢?
A = np.array([[1, 2], [3,4], [5,6], [7, 8]])
B = np.array([[4, 3], [2, 1]])
np.tile(A.reshape(len(A), 1, 2), (1, len(B), 1)) - B
Out:
array([[[-3, -1],
[-1, 1]],
[[-1, 1],
[ 1, 3]],
[[ 1, 3],
[ 3, 5]],
[[ 3, 5],
[ 5, 7]]])