如何借助转换矩阵绘制网络的一系列帧? 我有一个表示图形的矩阵。矩阵随着迭代而变化。谁能让我了解我可以用来创建网络系列的哪些功能?
original=[0.06 0.57 0.37 0 0;
0.57 0.06 0.37 0 0;
0.37 0.57 0.03 0.03 0;
0 0 0.03 0.13 0.84;
0 0 0 0.84 0.16];
假设上面是有问题的矩阵。那么图表应该是
答案 0 :(得分:7)
此问题与this earlier query和this one有关。但这是针对您情况的答案。
给定加权邻接矩阵:
original = [0.06 0.57 0.37 0 0;
0.57 0.06 0.37 0 0;
0.37 0.57 0.03 0.03 0;
0 0 0.03 0.13 0.84;
0 0 0 0.84 0.16];
您可以先定义网络中的节点数量:
N = size(original,1);
然后是圆周边的一组相应坐标:
coords = [cos(2*pi*(1:N)/N); sin(2*pi*(1:N)/N)]';
然后您可以使用gplot
:
gplot(original, coords)
并使用text
标记顶点:
text(coords(:,1) - 0.1, coords(:,2) + 0.1, num2str((1:N)'), 'FontSize', 14)
请注意,gplot
函数不会按连接强度对行进行加权;矩阵元素(i,j)被视为二进制,表示节点i和j之间不存在或存在链接。