MATLAB 复杂网络聚类系数代码

super_matrix=xlsread('C:\Users\HP\Desktop\邻接矩阵.xlsx');
%超王中节点的数量
N=211;
D1=zeros(N,N);
for i=1:N
for j=1:N
D1(i,j)=super_matrix(i,j);
end
end
%超边度的矩阵
node_degree=zeros(1,N);
for h=1:N
 node_degree(1,h)=sum(D1(h,:));
end
 node_degree;
 cc=zeros(1,N);
 %求聚类系数
 for i=1:N
 l1=0;
 s=zeros(1,N);
 if node_degree(1,i)>=2
     for j=1:N
          if D1(i,j)==1
             s(1,j)=1;
          end
     end
     
     for k=1:N
       if s(1,k)==1
           s1=k;
           for x=s1:N
               if s(1,x)==1
                    s2=x;
                    if D1(s1,s2)==1
                      l1=l1+1;
                    end
               end
           end
       end
     end
     cc(1,i)=(2*l1)/((node_degree(1,i)*(node_degree(1,i)+1)));
 end
 end
 
 sum1=0;
 for i=1:N
  sum1=sum1+cc(1,i)*1;
 end

%平均聚类系数
 ave=sum1/N;

你可能感兴趣的:(matlab,聚类,算法)