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

📄

📁 基于matlab的关于复杂网络中的群聚系数的算法源程序
💻
字号:
%function [Nodes,Cii]=BA(N,m)

clear
clc 

N=2000;
m=5;                   %本程序为了简便,m足够大,使得最大的连接边数要小于m
Nodes1=zeros(N);
Cii1=zeros(1,N);
t=zeros(1,N);

p0=2.6;%给定的平均连接度
p1=0.3;p2=0.2;p3=0.2;p4=0.2;p5=0.1;%pi
P1=p1;               %0.3
P2=P1+p2;            %0.5
P3=P2+p3;            %0.7
P4=P3+p4;            %0.8
P5=1;                %1





for i=1:m
    list(i)=i;
end
%以上初始化



n=0;
i=0;
r=0;
t=m;
for i=m+1:N
    
%得到随机连接的边数n


r=rand(1);%生成一个随机数,看它落在哪个区间
if r>=0&r<P1
    n=1;
elseif r>=P1&r<P2
    n=2;
elseif r>=P2&r<P3
    n=3;
elseif r>=P3&r<P4
    n=4;
else
    n=5;
end




for j=1:n
   
        list(t+j)=i; %第一个端点 
end
%以下第二个端点
%以下进行择优连接
for j=1:n  
   
     while(true)
        randomN=round((t+1)*rand(1));
     
        if randomN>0 & randomN<(t+1)
  %       if Nodes(i,list(randomN))==0
     
                 list(t+n+j)=list(randomN);
                 Nodes(i,list(randomN))=1;
                 Nodes(list(randomN),i)=1; 
                 break;
       
                
  
            
        end
   %  end 
          
    end

end

t=t+2*n;%t在每个时间步增加2n
  
end

for i=1:N
     Cii(i)=sum(Nodes(:,i));%Cii存放每个节点的度数 
end

for j=1:N
       k(j)=0;
       for i=1:N
           if j==Cii(i)
              k(j)=k(j)+1;
           end
       end    
   P(j)=k(j)/N;
end   
   for i=1:N
       k(i)=i;
   end  
%plot(k,P,'-r*')
loglog(k,P,'r*',k,2*m^2*k.^(-3),'s')


                  
 

⌨️ 快捷键说明

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