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(:)];