Files
matlab/common/eudist.m
T
jens b31f3e7435 - added
git-svn-id: http://moon:8086/svn/matlab/trunk@153 801c6759-fa7c-4059-a304-17956f83a07c
2021-03-22 20:28:22 +00:00

31 lines
771 B
Matlab
Executable File

% clusters.m
% function cb = clusters(input,ref,maxIt)
% clusters(randn(2,400)/sqrt(12),randn(2,1)/sqrt(12));
% 17.01.2003, Jens Ahrensfeld
function [indices, output] = eudist(input,ref)
[nDim, nData] = size(input);
[nDimr, nClasses] = size(ref);
if (nDim ~= nDimr),
error('Dimensions must match!');
end;
cnt = zeros(nClasses,1);
for j=1:nClasses,
indices{j} = [];
end;
for i=1:nData,
for j=1:nClasses,
d(j) = sqrt(sum((input(:,i)-ref(:,j)).^2)); % Calc distances between references and input
end;
[value nearestClass] = min(d);
cnt(nearestClass) = cnt(nearestClass) + 1;
indices{nearestClass} = [ indices{nearestClass} i ];
end;
% Separate data
for j=1:nClasses,
output{j} = input(:,indices{j});
end;