如何在matlab中找到距离矩阵

时间:2014-01-03 15:36:39

标签: matlab euclidean-distance

我使用pdist2(x(i), y(j), 'euclidean')公式来查找x和y之间的欧氏距离而不是手动方法

sqrt((x(i)-y(i))^2).

为了找到关系系数,我正在使用corrcoeff( x(i), y(j))。这是找到x和y矩阵之间的相关系数和欧氏距离的正确方法吗? 当我使用公式和手动方法时,我会得到不同的答案。

2 个答案:

答案 0 :(得分:2)

我认为这是不正确的。

我认为xy是矩阵,因此您使用pdist2来计算观察 i 之间的距离(来自x(i) )和 j (来自y(j))。对于手动方法,您在两者中都使用i索引。 可能差异是由于错误使用索引 i j 。向我们展示您的代码,以便我们确认。

顺便说一句,正如@Luis指出的那样,最好使用pdist2同时计算所有距离(它要快得多)。因此,如果您有两个矩阵x和y,请使用:pdist2(x,y)

相关性相同。

答案 1 :(得分:1)

两个矩阵之间的相关性可以计算为:

r = corr2(x,y)

现在,如果你是在元素之间的距离,那么:

dist=gsqrt((x-y).^2);