我想创建一个加权的adj矩阵。是否有一种好的方法即使使用庞大的数据集也能工作? 我有这个abc.txt文件,例如:
abc.txt
1 2 50
2 3 70
3 1 42
1 3 36
结果应该是
matrix=
0 50 36
0 0 70
42 0 0
如何从输入数据集图形文件构建加权邻接矩阵,如上所示,其中包含权重?
所以基本上输入文件有3列,第三列是每条边的权重。
答案 0 :(得分:1)
你所拥有的是一个稀疏的矩阵定义,使用sparse
是创建它的最简单方法。如果您的矩阵很薄(很多零),您也可能会使用稀疏矩阵,因为它需要更少的内存。然后删除最后一行。
S=load('abc.txt')
M=sparse(S(:,1),S(:,2),S(:,3))
M=full(M)
答案 1 :(得分:1)
您也可以将spconvert
应用于importdata
的输出:
matrix = full(spconvert(importdata('abc.txt')));