%% Numerical simulation for the symmetry measure. Uniform distribution
function [s] = sym_measure (matrix)
upper = triu(matrix,1); %extract the upper triangle matrix
lower = tril(matrix,-1)'; %extract the lower triangle matrix and transpose it
x = upper(:); %convert the matrix into a vector
y = lower(:); %convert the matrix into a vector
temp = x + y; %sum vector elements==sum the reciprocal elements of the matrix
nonzero_index = find(temp~=0.); %create a vector whoose elements are the index of the non zero elements in temp
K = length(nonzero_index); %counts how many elements of temp are nonzero==counts the number of pairs connections for which at least one direction is nonzero
if K > 0
s = 1 - sum ( abs(x(nonzero_index)-y(nonzero_index)) ./ (x(nonzero_index)+y(nonzero_index)) ) / K;
else
s = 0;
end |