clc clear close all %先形成初始点 center=[1,1,1,1,1;10,10,10,10,10;100,100,100,100,100;1000,1000,1000,1000,1000]; center=[1;10;100;1000]; dataN=50;% 生成多少个数据 Dim=1; data=zeros(Dim,dataN); for I=1:dataN i=round(1+(4-1)*rand()); data(:,I)=center(i)*( -1+(1+1)*rand(Dim,1)); end SetS=[1;]; for clusterI=1:3 maxG=-100*ones(dataN,1); for cluster=1:dataN if sum(ismember(cluster,SetS))>0 continue end %选一个候选数据 cddtI=cluster; cadSetS=[SetS;cddtI;]; Cij=0; for J=1:dataN if sum(ismember(J,cadSetS))>0 continue end d=data(:,J); %寻找最短距离 minD=1e20; for D=1:length(SetS)%between j and the closest object in S. % if J==cadSetS(D) % continue % end distance=sum((d-data(:,SetS(D))).^2).^.5; if distance