📄 get_knn.m
字号:
function Knn_Array=get_knn(Nodes)
%function Knn_Array=get_knn(Nodes)
%
%Knn_Array:3 col: [weight_value, weight_num,ave_weight]
%%get assortative coefficient,see Ref[Newman,Mixing patterns in networks]
%Input:Nodes--N*N adjacent matrix,Nodes(i,j)=1;i is outdegree,j is indegree
%Output:r--assortative coefficient
%
%Modified by Rock on 06.02.28
%Modified by Rock on 06.12.10 for r=0
%%Modified 07.03.20 for edge_num=0
%%Modified 07.09.13 for Out/Indegre
%Write by Rock on 07.01.31
TEST=0;
if TEST==1
fname='BA10m2';
Nodes=spconvert(load([fname,'.adj']));
end
[Degree,Knn,Neighbor_max_degree]=get_average_nearest_neighbor(Nodes);
[sort_weight,ID]=sort(Degree);
weight_num=length(sort_weight);
temp_id=1;
%Knn_Array:3 col: [weight_value, weight_num,ave_weight]
Knn_Array(temp_id,1)=sort_weight(1);
Knn_Array(temp_id,3)=Knn(ID(1));
temp_weight_num=1;
for i=2:weight_num
%i
if Knn_Array(temp_id,1)==sort_weight(i)
temp_weight_num=temp_weight_num+1;
Knn_Array(temp_id,3)=Knn_Array(temp_id,3)+Knn(ID(i));
else
Knn_Array(temp_id,2)=temp_weight_num;
temp_weight_num=1;
temp_id=temp_id+1;
Knn_Array(temp_id,1)=sort_weight(i);
Knn_Array(temp_id,3)=Knn(ID(i));
end
end
Knn_Array(temp_id,2)=temp_weight_num;
Knn_Array(1:end,3)=Knn_Array(1:end,3)./Knn_Array(1:end,2);
return
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -