26 lines
929 B
Matlab
26 lines
929 B
Matlab
% The number of pairs of nodes at a distance x,
|
|
% divided by the total number of pairs n(n-1)
|
|
% Source: Mahadevan et al, "Systematic Topology Analysis and
|
|
% Generation Using Degree Correlations"
|
|
% Note: The cumulative distance distribution (hop-plot) can be
|
|
% obtained by using ddist(i)=length(find(dij<=i)); in line 28 instead.
|
|
%
|
|
% INPUTS: adjacency matrix, (nxn)
|
|
% OUTPUTS: distribution vector (n-1)x1: {k_i} where k_i is the
|
|
% number of node pairs at a distance i, normalized
|
|
%
|
|
% Other routines used: simpleDijkstra.m
|
|
% GB: last updated, Oct 10 2012
|
|
|
|
function ddist=distanceDistribution(adj)
|
|
|
|
n=size(adj,1);
|
|
|
|
dij=[];
|
|
for i=1:n; dij=[dij; simpleDijkstra(adj,i) ]; end
|
|
|
|
dij(find(dij==0))=inf; % not considering (i-i) node pairs/loops,
|
|
% otherwise divide ddist by n^2
|
|
|
|
ddist=[];
|
|
for i=1:n-1; ddist(i)=length(find(dij==i)) / (n*(n-1)); end |