Matlab のスパース配列で行と列の位置を簡単に並べ替える方法があるかどうかは誰にもわかりませんか?
分析しようとしているグラフの隣接行列に対応する疎な配列があり、計算されたメトリックによってグラフの頂点を並べ替えたいと思います (マッピングが構築された方法をうまく維持しながら)
これを行う方法について何か提案はありますか?私は Matlab を初めて使用し、Matlab の操作用に用意されているすべてのツールにまだ完全に精通しているわけではありません。
Matlab のスパース配列で行と列の位置を簡単に並べ替える方法があるかどうかは誰にもわかりませんか?
分析しようとしているグラフの隣接行列に対応する疎な配列があり、計算されたメトリックによってグラフの頂点を並べ替えたいと思います (マッピングが構築された方法をうまく維持しながら)
これを行う方法について何か提案はありますか?私は Matlab を初めて使用し、Matlab の操作用に用意されているすべてのツールにまだ完全に精通しているわけではありません。
疎行列では、通常の行列と同じ方法でエントリ値を割り当てます。例えば:
>> 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;