最佳答案
回答者:网友
function [ labels ] = kmeans_clustering( data, k )[num,~]=size(data);ind = randperm(num);ind = ind(1:k);centers = data(ind,:);d=inf;labels = nan(num,1);while d>0 labels0 = labels; dist = pdist2(data, centers); [~,labels] = min(dist,[],2); d= sum(labels0 ~= labels); for i=1:k centers(i,:)=mean(data(labels == i,:),1); endendend