2

Sparstica他のいくつかのスパース行列の垂直連結であるスパース行列があるとします。を入力するSparstica(:)と、ゼロ以外の要素のリストが表示されます。左側の列は要素のインデックスになり、右側の列はゼロ以外の要素になります。

n-2中央のブロック(n合計でスパースブロック行列)内の他のすべてのスパースブロック行列のi番目とj番目の非ゼロ要素を操作するにはどうすればよいですか?


追加:他のすべてのスパース行列のi番目とj番目の要素の意味を明確にするために、次のように仮定します。

Sparstica = [A_1; A_2; A_3; ...; A_n]

これはから作成されましたvertcat。ここで、i番目とj番目、たとえば、から他のすべてのスパース行列の3番目と5番目の非ゼロ要素を取得する必要があります(これの表記は実際には許可されていませんが、説明のためだけです)。可能であれば、forループを使用せずにこれを実現したいと思います。A_2A_{N-1}

4

1 に答える 1

4

ゼロ以外の要素は、次を使用して見つけることができますfind

>> A = speye(3)

A =

   (1,1)        1
   (2,2)        1
   (3,3)        1

>> I = find(A ~= 0)

I =

     1
     5
     9

行/列形式のインデックスが必要な場合は、次を使用しますind2sub

>> [X, Y] = ind2sub(size(A), I)

X =

     1
     2
     3

Y =

     1
     2
     3
于 2013-03-14T07:29:24.273 に答える