将形式<<(index,index)value >>的数据导入稀疏矩阵

|| 我有一个纯文本数据文件(.dat),其中包含要导入到MATLAB中的稀疏矩阵信息。看起来有点像:
(1,2)    1    
(2,3)    2
依此类推,在左侧列中找到矩阵位置的索引,在右侧找到该位置的值。到处搜索并没有找到一种简便的方法来执行此操作,但是我对MATLAB的使用经验不多,因此我不知道自己是否缺少明显的东西。     
已邀请:
您可以使用功能spconvert 例子: 假设ASCII文件uphill.dat包含
1    1    1.000000000000000
1    2    0.500000000000000
2    2    0.333333333333333
1    3    0.333333333333333
2    3    0.250000000000000
3    3    0.200000000000000
1    4    0.250000000000000
2    4    0.200000000000000
3    4    0.166666666666667
4    4    0.142857142857143
4    4    0.000000000000000
然后声明
load uphill.dat    
H = spconvert(uphill)

H =

   (1,1)       1.0000
   (1,2)       0.5000
   (2,2)       0.3333
   (1,3)       0.3333
   (2,3)       0.2500
   (3,3)       0.2000
   (1,4)       0.2500
   (2,4)       0.2000
   (3,4)       0.1667
   (4,4)       0.1429
    
您可以尝试使用
scanf
。这是一些以以下代码开头的代码:
fid = fopen(\'sparse.dat\', \'rt\');
[m n] = fscanf(fid, \'(%d,%d) %d\\n\');
fclose(fid);
m = reshape(m, 3, length(m)/3)\';
% m should now be:
% [1 2 1; 2, 3, 2]
    

要回复问题请先登录注册