parent
86fd99706a
commit
91ece41bae
25
main.m
25
main.m
|
|
@ -5,15 +5,15 @@ tic
|
||||||
%ÏÈÐγɳõʼµã
|
%ÏÈÐγɳõʼµã
|
||||||
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];
|
||||||
% center=[1;10;100;1000];
|
% center=[1;10;100;1000];
|
||||||
dataN=50000;% 生成多少个数据
|
dataN=100;% 生成多少个数据
|
||||||
Dim=5;
|
Dim=5;
|
||||||
clusterN=100;
|
clusterN=10;
|
||||||
data=zeros(Dim,dataN);
|
% data=zeros(Dim,dataN);
|
||||||
% data=[11,101,1001,1,2,3];
|
% % data=[11,101,1001,1,2,3];
|
||||||
for I=1:dataN
|
% for I=1:dataN
|
||||||
i=round(1+(4-1)*rand());
|
% i=round(1+(4-1)*rand());
|
||||||
data(:,I)=center(i)*( -1+(1+1)*rand(Dim,1));
|
% data(:,I)=center(i)*( -1+(1+1)*rand(Dim,1));
|
||||||
end
|
% end
|
||||||
|
|
||||||
data=rand(Dim,dataN);
|
data=rand(Dim,dataN);
|
||||||
|
|
||||||
|
|
@ -42,11 +42,13 @@ for clusterI=1:clusterN-1
|
||||||
% continue
|
% continue
|
||||||
% end
|
% end
|
||||||
distance=sum((d-data(:,SetS(D))).^2).^.5;
|
distance=sum((d-data(:,SetS(D))).^2).^.5;
|
||||||
|
% distance=metricFun( d,data(:,SetS(D)) );
|
||||||
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;
|
||||||
|
% distanceIJ=metricFun( d,data(:,cddtI) );
|
||||||
Cij=Cij+max([minD-distanceIJ,0]);
|
Cij=Cij+max([minD-distanceIJ,0]);
|
||||||
end
|
end
|
||||||
maxG(cluster)=Cij;
|
maxG(cluster)=Cij;
|
||||||
|
|
@ -80,6 +82,7 @@ while 1
|
||||||
min2D=minD;
|
min2D=minD;
|
||||||
for G=1:length(SetS)%between j and the closest object in S.
|
for G=1:length(SetS)%between j and the closest object in S.
|
||||||
distance=sum((d-data(:,SetS(G))).^2).^.5;
|
distance=sum((d-data(:,SetS(G))).^2).^.5;
|
||||||
|
% distance=metricFun( d,data(:,SetS(G)) );
|
||||||
if distance<minD
|
if distance<minD
|
||||||
minD=distance;
|
minD=distance;
|
||||||
else
|
else
|
||||||
|
|
@ -89,8 +92,10 @@ while 1
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
distanceIJ=sum((d-data(:,cadUSetS(H))).^2).^.5;%S(I)已经等于U(H)
|
% distanceIJ=sum((d-data(:,cadUSetS(H))).^2).^.5;%S(I)已经等于U(H)
|
||||||
distanceHJ=sum((d-data(:,cadSetS(I))).^2).^.5;
|
distanceIJ=metricFun( d,data(:,cadUSetS(H)) );
|
||||||
|
% distanceHJ=sum((d-data(:,cadSetS(I))).^2).^.5;
|
||||||
|
distanceHJ=metricFun( d,data(:,cadSetS(I)) );
|
||||||
if distanceIJ>minD
|
if distanceIJ>minD
|
||||||
Kjih=min([distanceHJ-minD,0]);
|
Kjih=min([distanceHJ-minD,0]);
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
function [ output_args ] = metricFun( a,b )
|
||||||
|
output_args=sum((a-b).^2).^.5;
|
||||||
|
end
|
||||||
|
|
||||||
Loading…
Reference in New Issue