Matlab 如何将稀疏矩阵的非零元素转储到非稀疏矩阵中
我还可以问如何将稀疏矩阵转储到CSV基本上我有一个表示为稀疏矩阵的图,我想将该图导出到CSV,以在Gephi中打开它。我的稀疏矩阵是这样的:Matlab 如何将稀疏矩阵的非零元素转储到非稀疏矩阵中,matlab,octave,Matlab,Octave,我还可以问如何将稀疏矩阵转储到CSV基本上我有一个表示为稀疏矩阵的图,我想将该图导出到CSV,以在Gephi中打开它。我的稀疏矩阵是这样的: (23,35) 1 (35,78) 1 (78,23) 1 等 我想把它转换成一个向量,比如: [23,35,1;35,78,1;78,23,1] 我很想知道有一个简单的一行,但我不能让我的大脑找到它,所以非常感谢你的帮助 如果您也知道将在文件中生成的sparse2csv('graph.csv',Adj): 23,35,1 35,78,1 78,
(23,35) 1
(35,78) 1
(78,23) 1
等
我想把它转换成一个向量,比如:
[23,35,1;35,78,1;78,23,1]
我很想知道有一个简单的一行,但我不能让我的大脑找到它,所以非常感谢你的帮助
如果您也知道将在文件中生成的sparse2csv('graph.csv',Adj)
:
23,35,1
35,78,1
78,23,1
那也行。想到的方法不是一行代码(尽管可以通过函数轻松地创建一行代码),而是简单地使用两个函数调用:和: 返回
78 23 1
23 35 1
35 78 1
正如Luis Mendo在评论中指出的那样,存在一个更简单的解决方案,因为
find
将在第三个输出参数中返回非零值(现在给定的数组也不再符合逻辑):
谢谢我仍然不敢相信有一个单行函数可以做到这一点。也许不太常见:)@user3635284这个潜在函数(我能想到)的唯一流行用法是导出到文本文件代码>(不需要
非零
)
78 23 1
23 35 1
35 78 1
[r,c,v] = find(A);
compact = [r,c,v];