将稀疏矩阵转换为较小的完整矩阵

Jon*_*Jon 0 matlab

让我说我有

    A = [3 0 2; ...
         0 0 1; ...
         1 1 0]
    A = sparse(A);
Run Code Online (Sandbox Code Playgroud)

其输出如下:

    ans =

   (1,1)        3
   (3,1)        1
   (3,2)        1
   (1,3)        2
   (2,3)        1
Run Code Online (Sandbox Code Playgroud)

问题:是否有一个简单的命令来生成以下向量?

   B = [1 1 3;3 1 1; 3 2 1; 1 3 2;2 3 1]

    ans =

         1     1     3
         3     1     1
         3     2     1
         1     3     2
         2     3     1
Run Code Online (Sandbox Code Playgroud)

Sha*_*hai 5

尝试

[ ii jj aij ] = find( A );
B = [ii(:) jj(:) aij(:)];
Run Code Online (Sandbox Code Playgroud)

  • 如果使用`[B(:,1)B(:,2)B(:,3)] = find(A),则不需要第二行;` (2认同)