是否可以在matlab中显示每个由变量表示的所有子矩阵?
是否有任何内置函数可以在matlab中显示矩阵中的所有子矩阵? 为了显示一个子矩阵,我们有函数x(:,m:n)。 例如:考虑一个4×4矩阵是否可以在matlab中显示每个由变量表示的所有子矩阵?,matlab,matrix,submatrix,Matlab,Matrix,Submatrix,是否有任何内置函数可以在matlab中显示矩阵中的所有子矩阵? 为了显示一个子矩阵,我们有函数x(:,m:n)。 例如:考虑一个4×4矩阵 A = 14 11 16 16 15 2 16 8 3 5 3 13 15 9 16 3 如果所有子矩阵的大小为1 x 2,如何显示一个图形中存在的所有子矩阵?以及如何用变量表示每个子矩阵(例如:a1、a2等) 如何以单元格
A = 14 11 16 16
15 2 16 8
3 5 3 13
15 9 16 3
如果所有子矩阵的大小为1 x 2,如何显示一个图形中存在的所有子矩阵?以及如何用变量表示每个子矩阵(例如:a1、a2等)
如何以单元格数组的形式显示所有子矩阵?请帮忙。提前感谢您可以使用mat2cell命令根据需要分割原始矩阵,然后使用cell2mat再次获得作为(子)矩阵的结果。在您的特定示例中,使用与上述相同的matix A,您可以这样使用它:
B = mat2cell(A,[1 1 1 1],[2 2])
cell2mat(B(1,1))
ans =
14 11
cell2mat(B(1,2))
ans =
16 16
cell2mat(B(4,2))
ans =
16 3
x
matrix,以便每行为一个子矩阵
reshape(reshape(A', numel(A), 1), 2, numel(A)/2)'
如果要将结果强制转换为单元格,可以使用命令
mat2cell()
不要使用像a1
、a2
、a3
等名称。以后很难使用它们!尝试使用一个单元格数组:a{1}=[14 11]
,a{2}=[16 16]
,这会容易得多!这是可行的,但是对其工作原理的一些解释,而不是简单的代码转储可能是有益的。此外,OP需要一个单元阵列。这只会生成二维矩阵。
reshape(reshape(A', numel(A), 1), 2, numel(A)/2)'