FormationControlSimulation/SOURCE/networks-toolbox/distanceDistribution.m

26 lines
929 B
Matlab
Raw Permalink Normal View History

2019-06-17 14:31:50 +07:00
% 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