在 MATLAB 中使用稀疏矩阵作为邻接矩阵
Using sparse matrix as adjacency matrix in MATLAB
我有一个包含以下有向图的文件:
1 2
2 4
3 1
2 3
每个数字都被视为图中的一个节点。
第一列中的每个节点都有一个到其第二列中的前节点的转发边缘。
我想为这个图做一个邻接矩阵。
我应该为此使用稀疏矩阵。
问题是:
正如您在图中看到的那样,节点 4
没有到其他节点的边,因此我的稀疏邻接矩阵不会是正方形的。
这是我制作矩阵的代码:
adj = sparse(Graph(:,1),Graph(:,2),1);
如何将第 4 行存储在此矩阵中?
设置你想要的尺寸:
n=max(Graph(:));
adj = sparse(Graph(:,1),Graph(:,2),1,n,n);
我有一个包含以下有向图的文件:
1 2
2 4
3 1
2 3
每个数字都被视为图中的一个节点。
第一列中的每个节点都有一个到其第二列中的前节点的转发边缘。
我想为这个图做一个邻接矩阵。
我应该为此使用稀疏矩阵。
问题是:
正如您在图中看到的那样,节点 4
没有到其他节点的边,因此我的稀疏邻接矩阵不会是正方形的。
这是我制作矩阵的代码:
adj = sparse(Graph(:,1),Graph(:,2),1);
如何将第 4 行存储在此矩阵中?
设置你想要的尺寸:
n=max(Graph(:));
adj = sparse(Graph(:,1),Graph(:,2),1,n,n);