📄 get_edge_degree.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 + -