完成了初始化的代码

Signed-off-by: facat@lab.com <facat@lab.com>
This commit is contained in:
facat@lab.com 2014-12-07 12:21:52 +08:00
parent 6882c79711
commit cad0a2c7d4
1 changed files with 38 additions and 23 deletions

51
main.m
View File

@ -3,34 +3,49 @@ clear
close all 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,1,1,1,1;10,10,10,10,10;100,100,100,100,100;1000,1000,1000,1000,1000];
dataN=100;% center=[1;10;100;1000];
data=zeros(5,dataN); dataN=50;%
Dim=1;
data=zeros(Dim,dataN);
for I=1:dataN for I=1:dataN
i=round(1+(5-1)*rand()); i=round(1+(4-1)*rand());
data(:,I)=center(i)*( -1+(1+1)*rand(5,1)); data(:,I)=center(i)*( -1+(1+1)*rand(Dim,1));
end end
%
cddtI=10; SetS=[1;];
SetS=[];
SetS=[SetS;cddtI;]; for clusterI=1:3
Cij=0; maxG=-100*ones(dataN,1);
for I=1:dataN for cluster=1:dataN
if I==cddtI if sum(ismember(cluster,SetS))>0
continue continue
end end
d=data(:,I); %
cddtI=cluster;
cadSetS=[SetS;cddtI;];
Cij=0;
for J=1:dataN
if sum(ismember(J,cadSetS))>0
continue
end
d=data(:,J);
% %
minD=1e20; minD=1e20;
for J=1:length(SetS) for D=1:length(SetS)%between j and the closest object in S.
if I==SetS(J) % if J==cadSetS(D)
continue % continue
end % end
distance=sum((d-data(:,SetS(J))).^2).^.5; distance=sum((d-data(:,SetS(D))).^2).^.5;
if distance<minD if distance<minD
minD=distance; minD=distance;
end end
end end
distanceIJ=sum((d-data(:,cddtI)).^2).^.5; distanceIJ=sum((d-data(:,cddtI)).^2).^.5;
Cij=Cij+max([minD-distanceIJ,0]) Cij=Cij+max([minD-distanceIJ,0]);
end
maxG(cluster)=Cij;
end
maxGInd=find(maxG==max(maxG));
SetS=[SetS;maxGInd(1)];
end end