⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sakhc.m

📁 该程序是硬核聚类和自适应硬核聚类的程序。
💻 M
字号:












cl=1;
Sw=zeros(500,1);
Sb=zeros(500,1);
sumd=0; 
sumk=0; 
sumK=0;
D2=0;
V1=zeros(10,1);
for cl=1:10
   
    
    
       KHC2;
       for i=1:500
             for k=1:500
                  for j=1:cl
                     sumd=sumd+D(k,j)*D(i,j);
                      sumk=D(k,j)*D(i,j)*K(i,j);
                  end
                  sumK=sumK+K(i,k);
             end
             Sw(i,1)=sumk/(sumd-1);
             Sb(i,1)=(sumK-(sumk-1)*Sw(i,1)-1)/(500-sumk);
             sumd=0; sumk=0; sumK=0;
       end
       V(cl,1)=sum(Sb)/sum(Sw);
    for d=2:20
         D2=D;
         V=V(cl,d-1);
         KHC2;
         for i=1:500
               for k=1:500
                      for j=1:cl
                        sumd=sumd+D(k,j)*D(i,j);
                         sumk=D(k,j)*D(i,j)*K(i,j);
                      end
                      sumK=sumK+K(i,k);
               end
               Sw(i,1)=sumk/(sumd-1);
               Sb(i,1)=(sumK-(sumk-1)*Sw(i,1)-1)/(500-sumk);
               sumd=0; 
               sumk=0; 
               sumK=0;
         end
           V(cl,d)=sum(Sb)/sum(Sw);
         if V(cl,d)>V;
            V(cl,d)=V;
            D=D2;
         end
         
    end
  
    if cl=1
          D101=D;
          V1(1,1)=V(cl,20);
      elseif  cl=2
          D102=D;
          V1(2,1)=V(cl,20);
      elseif  cl=3
          D103=D;
          V1(3,1)=V(cl,20);
      elseif  cl=4
          D104=D;
          V1(4,1)=V(cl,20);
      elseif  cl=5
          D105=D;
          V1(5,1)=V(cl,20);
      elseif  cl=6
          D106=D;
          V1(6,1)=V(cl,20);
      elseif  cl=7
          D107=D;
          V1(7,1)=V(cl,20);
      elseif  cl=8
          D108=D;
          V1(8,1)=V(cl,20);
      elseif  cl=9
          D109=D;
          V1(9,1)=V(cl,20);
      else
          D110=D;
          V1(10,1)=V(cl,20);
    end
        
        
    
    
    
end 

DB=[D101,D102,D103,D104,D105,D106,D107,D108,D109,D110];

Vmin=min(V1(10,1));
iik=1;
while(V1(iik,1)>Vmin)
    iik=iik+1;
end
DDDD=[:;iik*(iik-1)/2+1:(iik-1)*iik/2+iik];



ee1=1;
ee2=1;
ee3=1;
for j=1:500
    if D(j,1)==1
        PDW1(ee1,:)=PDW(j,:);
        ee1=ee1+1;
    end
    if D(j,2)==1
        PDW2(ee2,:)=PDW(j,:);
        ee2=ee2+1;
    end
    if D(j,3)==1
        PDW3(ee3,:)=PDW(j,:);
        ee3=ee3+1;
    end
end



    





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -