N次元の複数点間の距離を一括で計算の計算は冗長でした。 np.tileを使う必要がありません。コードは以下のようになります。
# Make 3 points in 2D (embedded into 1x3 matrix)
p1 = np.array([[[1,2],[3,4],[5,6]]])
# Make 5 points in 2D (embedded into 5x1 matrix)
p2 = np.array([[[0,1],[1,2],[2,3],[1,1],[2,2]]]).reshape(5,1,-1)
print(np.sqrt(np.sum((p1 - p2)**2, axis=2)))
[[ 1.41421356 4.24264069 7.07106781] [ 0. 2.82842712 5.65685425] [ 1.41421356 1.41421356 4.24264069] [ 1. 3.60555128 6.40312424] [ 1. 2.23606798 5. ]]となります。
0 件のコメント :
コメントを投稿