matlab中的相邻节点及其分离
在matlab上,我有一个邻接矩阵,并使用一个函数,我想了解如何绘制直方图,显示两个给定节点(最多10个)之间的分离度。 到目前为止,我只有一个查找节点邻居的函数。基本上,它将类似于6度分离的概念,除了10度 谢谢matlab中的相邻节点及其分离,matlab,matrix,plot,Matlab,Matrix,Plot,在matlab上,我有一个邻接矩阵,并使用一个函数,我想了解如何绘制直方图,显示两个给定节点(最多10个)之间的分离度。 到目前为止,我只有一个查找节点邻居的函数。基本上,它将类似于6度分离的概念,除了10度 谢谢 function n=neighbour(A,v) global n; for i=1:length(v) a=find(A(:,v(i))+A(v(i),:)'); n=setdiff(a(:)',v(i)); end end
function n=neighbour(A,v)
global n;
for i=1:length(v)
a=find(A(:,v(i))+A(v(i),:)');
n=setdiff(a(:)',v(i));
end
end
无标度网络可视化,包括分离度直方图,可能会有帮助…无标度网络可视化,包括分离度直方图,可能会有帮助…一般来说,使用,它计算图形中所有节点对之间的最短路径
由于您使用的是Matlab,并且任意两个连接节点之间的距离始终相同(“1步”),因此可以使用一种涉及矩阵乘法的技巧:如果您有一个邻接矩阵
a
,然后将A
提高到N
的次幂,可以得到一个新的矩阵,告诉您每对节点之间存在多少条长度N
的路径。所以,在一个循环中,将a提高到1次方,2次方,等等,并注意每个元素在哪个次方变为非零。最大路径长度等于节点数,因此您可以到此为止。通常,这是使用来解决的,它计算图形中所有节点对之间的最短路径
由于您使用的是Matlab,并且任意两个连接节点之间的距离始终相同(“1步”),因此可以使用一种涉及矩阵乘法的技巧:如果您有一个邻接矩阵
a
,然后将A
提高到N
的次幂,可以得到一个新的矩阵,告诉您每对节点之间存在多少条长度N
的路径。所以,在一个循环中,将a提高到1次方,2次方,等等,并注意每个元素在哪个次方变为非零。最大路径长度等于节点数,因此您可以到此为止。请添加到目前为止开发的代码。问题不清楚,您需要帮助的是哪一部分?能否显示一个简单的数值示例?请添加到目前为止开发的代码。问题不清楚,您需要帮助的是哪一部分?能否显示一个简单的数值示例?