如何为欧氏距离计算操作矩阵加法和乘法?
How to manipulate matrix addition and multiplication for Euclidean distance computation?
我有以下内容:
A = [1 2 3; 4 5 6; 7 8 9];
B = [10 11 12; 13 14 15];
[N1, D1] = size(A);
[N2, D2] = size(B);
A_sq = sum(A.^2, 2);
B_sq = sum(B.^2, 2)';
D = A_sq(:,ones(1,N2)) + B_sq(ones(1,N1),:) - 2.*(A*B');
其中 D 是 N1 x D1 矩阵。
我想一步写出 D 的表达式,即类似这样的东西(这是为了说明目的,但它应该计算与上面代码相同的欧氏距离):
D = sum(A - B).^2;
如有任何建议,我将不胜感激。
我有以下内容:
A = [1 2 3; 4 5 6; 7 8 9];
B = [10 11 12; 13 14 15];
[N1, D1] = size(A);
[N2, D2] = size(B);
A_sq = sum(A.^2, 2);
B_sq = sum(B.^2, 2)';
D = A_sq(:,ones(1,N2)) + B_sq(ones(1,N1),:) - 2.*(A*B');
其中 D 是 N1 x D1 矩阵。
我想一步写出 D 的表达式,即类似这样的东西(这是为了说明目的,但它应该计算与上面代码相同的欧氏距离):
D = sum(A - B).^2;
如有任何建议,我将不胜感激。