euclidean_distance.m

来自「best routing protocol」· M 代码 · 共 31 行

M
31
字号
%calculate the euclidean distance based on coordinate y%X: Nxd coordinates%Y: Mxd coordinates%edist: N x M matrix: edist(i,j) = euclidean_distance(x_i, y_j)function edist = euclidean_distance(X,Y)    [N,d] = size(X);    [M,d1] = size(Y);        xy = X*Y'.*2;    xx = repmat(sum(X.^2,2), 1, M);    xx = xx-xy;    clear  xy;    t = sum(Y.^2, 2);    yy = repmat(t', N, 1);    clear t;    xx = xx+yy;    clear yy;    edist = sqrt(xx);    return        for i = 1:N        for j = 1:M            t = sum((X(i,:)-Y(j,:)).^2);            if t>0                edist(i,j) = t^0.5;            else                edist(i,j)=0;            end        end    end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?