python计算多个向量与某一向量之间的距离,txt读入
实验数据处理中,需要计算多个向量与某一向量之间的距离计算。
代码思路:将多个向量组合成为矩阵,依次将某一向量与矩阵每一行进行距离计算。
步骤:
①将存储原始向量的txt读入
②计算向量之间的距离
③输出距离结果
具体代码如下:
import numpy as np
'''
计算矩阵M和向量x之间的距离,每一行之间用\t分隔
'''
# load data
#M为矩阵,每一行长度为2048
file = open(r"*********\M.txt")
lines = file.readlines()
rows = len(lines)
M = np.zeros((rows, 15))
row = 0
for line in lines:
line = line.strip().split('\t')
M[row, :] = line[::]
row += 1
print(M)
print(M.shape)
#M为矩阵,x向量,就一行
file1 = open(r"**********\x.txt")
lines1 = file1.readlines()
rows1 = len(lines1)
x = np.zeros((rows1,15))
rows1 = 0
for line in lines1:
line = line.strip().split('\t')
x[rows1, :] = line[::]
rows1 += 1
print(x)
print(x.shape)
dis = np.sqrt(np.sum(np.square(x-M),1))
print(dis)
注意:M = np.zeros((rows, 15))中15为向量的长度,可以自行更改。
M.txt矩阵的格式如下:数据间用\t分隔
x.txt矩阵的格式如下:数据间用\t分隔
备注:参考了其他博客,但是忘记记录原博客,如有侵权,提前说声抱歉,请联系我,我予以标注或删除内容,十分感谢!