计算2个矩阵的相应行之间的欧几里德距离

时间:2018-03-18 20:43:13

标签: r euclidean-distance

我有2个矩阵A和B,我想计算A的第1行和B的第1行,A的第2行和B的第2行之间的欧几里德距离等。我知道我可以使用{{1函数计算A和B的所有行组合的距离并获得所需的值(结果中的对角线值),但我觉得可能有一种更有效的方法来仅计算所需的值。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

确实有一种很好的方法可以做到这一点。让

A <- matrix(rnorm(4 * 8), nrow = 4, ncol = 8)
B <- matrix(rnorm(4 * 8), nrow = 4, ncol = 8)

然后

sqrt(rowSums((A - B)^2))
# [1] 3.295312 3.222073 6.857711 2.991980

其中A - B进行逐元素减法,我们可以按照元素的方式对结果矩阵进行平方,使用rowSums计算该矩阵的行和,并采用平方根元素。