【问题标题】:Import a txt weighted adjacency list into a matrix将一个txt加权邻接表导入矩阵
【发布时间】:2015-02-08 16:09:46
【问题描述】:

我想创建一个加权的 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 列,第三列是每条边的权重。

【问题讨论】:

    标签: matlab graph


    【解决方案1】:

    您也可以将spconvert 应用于importdata 的输出:

    matrix = full(spconvert(importdata('abc.txt')));
    

    【讨论】:

    • 感谢丹尼尔和路易斯。我正在寻找 luis 1 行代码 :)thanx 很多
    【解决方案2】:

    您所拥有的是矩阵的稀疏定义,使用sparse 是创建它的最简单方法。如果您的矩阵很薄(很多零),您也可以坚持使用稀疏矩阵,因为它需要更少的内存。然后删除最后一行。

    S=load('abc.txt')
    M=sparse(S(:,1),S(:,2),S(:,3))
    M=full(M)
    

    【讨论】:

    • 你的意思可能是M=load('abc.txt'):
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    • 2020-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多