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

📄 averageshortestpath.m

📁 主要用来计算复杂网络的平均聚集系数
💻 M
字号:
% clear;
clc;

%给定网络,求分层指数
% load RDG1 RDG1;
sf=RDG1;
% sf=full(RDG1);
size=size(sf);
node_num=size(1);
% sf=sf-diag(diag(sf));
% for i=1:node_num
%     if sum(sf(i,:))==0
%         sf(i,round(unifrnd(1,node_num)))=1;
%     end
% end


degree=sum(sf,2);


local_C=zeros(node_num,1);
for i=1:node_num 
    if degree(i)==0 | degree(i)==1
        local_C(i)=0;
    else
        adj=zeros(degree(i),1);
        k=0;
        for j=1:node_num
            if j~=i & sf(i,j)==1
                k=k+1;
                adj(k)=j;
            end
        end
        edge_num=0;
        for n=1:degree(i)
            for m=n:degree(i)
                if sf(adj(n),adj(m))==1
                    edge_num=edge_num+1;
                end
            end
        end
        local_C(i)=2*edge_num/(degree(i)*(degree(i)-1));
    end
end

total_C=sum(local_C)/node_num; %求网络平均集群系数

C=zeros(node_num-1,1);
Num=zeros(node_num-1,1);
for k=1:node_num
    if degree(k)>0
        C(degree(k))=C(degree(k))+local_C(k);
        Num(degree(k))=Num(degree(k))+1;
    end
end
for k=1:node_num-1
    if Num(k)>0
        C(k)=C(k)/Num(k);
    end
end
TC=sum(C);


nonzero_Cindex=find(C);
nonzero_C=C(find(C));
plot(nonzero_Cindex,nonzero_C);
x=log(nonzero_Cindex);
y=log(nonzero_C);
[v,s]=polyfit(x,y,1)

    

⌨️ 快捷键说明

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