我试图从矢量和矩阵中获得欧氏距离
dataTest= [1;2;3;4;5;6]
data = [01 02 03 04;
05 06 07 08;
09 10 11 12;
13 14 15 16;
17 18 19 20;
21 22 23 24]
目前我运行此功能时:
distance = pdist2(data ,dataTest)
它返回
X和Y必须具有相同的列数。
我有什么建议可以解决这个问题以及为什么我的工作不起作用?
编辑:修正了 - 没有填满整个dataTest矩阵 - 必须遍历每一列。
答案 0 :(得分:0)
正如@Luis所提到的,pdist2
将为您提供更多信息,以及您不需要的计算,因为它计算所有距离,并且您实际上只需要每次迭代的矩阵结果的对角线。
相反,您可以准确计算出您需要的内容 - 向量dataTest
与data
的每列之间的欧氏距离:
distance= sqrt(sum(bsxfun(@minus,dataTest,data).^2))
distance=
22.2486 24.3105 26.4386 28.6182