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

📄 get_knn.m

📁 获取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 + -