我有这个数据:
我只是测试了5个条目,但它比第一个条目大得多。我试图得到经纬度的欧几里得距离。当我简单地使用纬度和经度作为向量时,我的方法是有效的,但是当我创建一个函数来做它时,由于某些原因,我得到了完全不同的结果。在
例如,当我这样做时:D = np.zeros((len(x), len(y)))
for i in range(len(x)):
for j in range(len(y)):
D[i][j] = np.sqrt((x[i] - x[j])**2 + (y[i] - y[j])**2)
print(D)
我得到了正确的结果:
^{pr2}$
但我为什么要用这个函数:def eucDist(matrix):
dist_mat = np.zeros((len(matrix), len(matrix)))
for i in range(len(matrix)):
for j in range(len(matrix)):
dist_mat[i][j] = np.sqrt((A[i][0] - A[j][0])**2 + (A[i][1] - A[j][1])**2)
return dist_mat
我得到了一个错误的结果:[[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]]
我不知道我写的函数有什么问题。以下是我的全部代码:# Import necessary modules
import