有没有人知道是否有办法在Matlab中对稀疏数组中的行列位置进行简单的重新排序?
我有一个稀疏数组,它对应于我想要分析的图形的邻接矩阵,我想通过一些计算的度量重新排序图形中的顶点(同时保留映射构造的方式) )
有没有人对这样做有什么建议?我是Matlab的新手,并且还不熟悉它对Matrix操作的所有工具。
答案 0 :(得分:0)
使用稀疏矩阵,您可以使用与普通矩阵相同的方式指定条目值。例如:
>> a = sparse(1:2, 3:4, [1 1], 4, 5, 7)
a =
(1,3) 1
(2,4) 1
a(1,3) = 0; a(1,2) = 1; % move the "1" from (1,3) to (1,2)
>> a
a =
(1,2) 1
(2,4) 1
您还可以分配整个列或行。例如,这将交换第2列和第3列:
aux = a(:,3);
a(:,3) = a(:,2);
a(:,2) = aux;