Matlab稀疏数组索引重新分配

时间:2013-10-14 15:12:15

标签: arrays matlab graph sparse-matrix

有没有人知道是否有办法在Matlab中对稀疏数组中的行列位置进行简单的重新排序?

我有一个稀疏数组,它对应于我想要分析的图形的邻接矩阵,我想通过一些计算的度量重新排序图形中的顶点(同时保留映射构造的方式) )

有没有人对这样做有什么建议?我是Matlab的新手,并且还不熟悉它对Matrix操作的所有工具。

1 个答案:

答案 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;