将矩阵划分为10个子矩阵

时间:2015-06-23 11:48:06

标签: matlab matrix

我有一个大小为[86 86]的矩阵[x y]。我想把这个矩阵分成10个子矩阵。对于thr last矩阵,将存在坐标不足但可以用零填充。

[x y] = size(I)
nSub = 10;
B = mat2cell(I, 2*ones(size(I,1)/2,1), 2*ones(size(I,2)/2,1))

我尝试使用mat2cell功能,但输出效果不佳。    任何人都可以告诉我哪里出错或者我可以更改此功能

1 个答案:

答案 0 :(得分:2)

这对你有用吗?

I = rand(86,86);
[x y] = size(I)
nSub = 10;

%// padding
xp = x + nSub - mod(x,nSub);
yp = y + nSub - mod(y,nSub);
I(xp,yp) = 0;

%// submatrices
B = mat2cell(I, nSub*ones(xp/nSub,1),nSub*ones(yp/nSub,1))

enter image description here