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

Matlab 将稀疏矩阵转换为较小的完整矩阵,matlab,Matlab,假设我有 A = [3 0 2; ... 0 0 1; ... 1 1 0] A = sparse(A); 其输出如下: ans = (1,1) 3 (3,1) 1 (3,2) 1 (1,3) 2 (2,3) 1 问题:是否有一个简单的命令来生成以下向量 B = [1 1 3;3 1 1; 3 2 1; 1 3 2;2 3 1

假设我有

    A = [3 0 2; ...
         0 0 1; ...
         1 1 0]
    A = sparse(A);
其输出如下:

    ans =

   (1,1)        3
   (3,1)        1
   (3,2)        1
   (1,3)        2
   (2,3)        1
问题:是否有一个简单的命令来生成以下向量

   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
试一试

试一试


A和B之间的关系是什么?您希望“easy command”的输出是什么?A和B之间的关系是什么?“easy command”的输出是什么?如果使用
[B(:,1)B(:,2)B(:,3)]=find(A),则不需要第二行
如果使用
[B(:,1)B(:,2)B(:,3)]=find(A),则不需要第二行
[ ii jj aij ] = find( A );
B = [ii(:) jj(:) aij(:)];