0

嗨,我有一个大小为 ixi 的矩阵 A,我想将其划分为更小的矩阵,以便每个子矩阵都适合矩阵 B 大小 jxj 的维度。我该怎么做呢?

B = mat2cell(A,size(B));

似乎没有这样做。

注意:子矩阵的数量 = sqrt(n) 即如果 A 为 100x100 则将有 10 个子矩阵,如果 A 为 81x81 将有 9 个子矩阵。

谢谢

4

2 回答 2

4

对于mat2cell,如果要将矩阵一分为二,则必须为每组行/列指定大小。因此,如果您需要将一个 2×2 数组分成四个 1×1 数组,则为mat2cell(array,[1 1],[1 1]).

nSub = sqrt(size(A,1));

B = mat2cell(A,nSub*ones(1,nSub),nSub*ones(1,nSub));
于 2012-07-18T14:30:24.303 回答
0

试试repmat。这将根据需要将您的 axb 数据重组为更小的 pxqxr 矩阵。

于 2012-07-18T14:27:15.850 回答