diff --git a/main.m b/main.m index eca3f4d..d9123b4 100644 --- a/main.m +++ b/main.m @@ -37,15 +37,6 @@ for clusterI=1:clusterN-1 end d=data(:,J); %寻找最短距离 - minD=1e20; -% for D=1:length(SetS)%between j and the closest object in S. -% % distance=sum((d-data(:,SetS(D))).^2).^.5; -% distance=metricFun( d,data(:,SetS(D)) ); -% if distance1e-5 || abs(smin2D-min2D)>1e-5 - fdf=0; - end -% minD=sminD; -% minD -% sminD -% min2D=smin2D; - - + matDistance=repmat(d,1,length(SetS)); + minD=matDistance-data(:,SetS); + minD=diag(minD'*minD).^.5; + minD_t=min(minD); + minD(minD==minD_t)=1e20; + min2D=min(minD); + minD=minD_t; % distanceIJ=sum((d-data(:,cadUSetS(H))).^2).^.5;%S(I)已经等于U(H) distanceIJ=metricFun( d,data(:,cadUSetS(H)) ); % distanceHJ=sum((d-data(:,cadSetS(I))).^2).^.5; @@ -125,7 +89,7 @@ while 1 end if abs(distanceIJ-minD)<1e-5 Kjih=min([distanceHJ,min2D])-minD; - elseif distanceIJ