matlab - 将矩阵划分为 10 个子矩阵

标签 matlab matrix

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

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

我尝试使用 mat2cell 函数,但输出效果不佳。 谁能告诉我哪里出了问题或者我可以更改此功能

最佳答案

这对你有用吗?

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

关于matlab - 将矩阵划分为 10 个子矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31001980/

相关文章:

matlab - OpenCV 错误 : [mpeg4 @ 0x7ffe33cb3e60] too many thread_release_buffer calls

matlab - 立即在编辑器中保存所有打开的 .m 文件

c++ - 将视锥从相机空间转换为光空间以进行阴影贴图时遇到重大问题

c - 通过 R 在 C 中操作矩阵

matlab - 有没有什么常用的方法可以在 Matlab 的 parfor 中模拟返回?

python - 在 NumPy 中复制 Matlab 的 ISMEMBER 函数的索引结果?

matlab - 以快速、矢量化的方式将二进制矩阵转换为最后一个非零索引的矢量

algorithm - 是否存在一种算法可以在少于 n^3 次迭代中找到 n*n 矩阵的乘积?

c++ - Eigen :行主要稀疏矩阵的不同行内存预留

python - 如何在numpy矩阵中找到最小值?