-3
难以理解Matlab中的以下代码来计算两点之间的欧几里德距离,其中X是要分类的数据,标号对应于簇成员资格。计算matlab中点之间的距离
label = ones(1, data_dim);
[N,~]=size(X);
[c,~]=size(clusters);
dist = zeros(N,c);
for i = 1:c
dist(:,i) = sum(bsxfun(@minus, X, clusters(i,:)).^2, 2);
end
[~,label] = min(dist,[],2);
任何人能解释这是怎么回事,也许从第一原理解释它,而无需使用bsxfun
?