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

📄 get_edge_degree.m

📁 复杂网络 complex network基本参数计算 边权重计算 根据定义不同 可以选择不同的计算方法
💻 M
字号:
function Edge_Degree=get_edge_degree(Nodes,flag)
%get edge degree according to following defination:
%1.k(v,w)=kv*kw
%2.k(v,w)=kv+kw
%3.k(v,w)=min(kv,kw)
%4.k(v,w)=max(kv,kw)
%5.k(v,w)=1/kv*kw
%6.k(v,w)=1/(kv+kw)
%7.k(v,w)=1/min(kv,kw)
%8.k(v,w)=1/max(kv,kw)
%
%Input: Nodes -- N*N adjacent matrix
%       flag -- according to different edge-degree defination
%Output:Edge_Degree -- N*N matrix


N=length(Nodes);%Modifed by rock on 06/02.27
NodeDegree=zeros(N,1);

for i=1:N
    Nodes(i,i)=0;
    Degree(i)=nnz(Nodes(i,:));
end

[Row,Col,Weight]=find(Nodes);
M=length(Row);

for i=1:M
    if flag==1
        Weight(i)=Degree(Row(i))*Degree(Col(i));
    elseif flag==2
        Weight(i)=Degree(Row(i))+Degree(Col(i));
    elseif flag==3
        Weight(i)=min(Degree(Row(i)),Degree(Col(i)));
    elseif flag==4
        Weight(i)=max(Degree(Row(i)),Degree(Col(i)));
    elseif flag==5
        Weight(i)=1/(Degree(Row(i))*Degree(Col(i)));
    elseif flag==6
        Weight(i)=1/(Degree(Row(i))+Degree(Col(i)));
    elseif flag==7
        Weight(i)=1/min(Degree(Row(i)),Degree(Col(i)));
    elseif flag==8
        Weight(i)=1/max(Degree(Row(i)),Degree(Col(i)));
    end
end

Edge_Degree=spconvert([Row,Col,Weight]);

return

⌨️ 快捷键说明

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