matlab矩阵分块

mat2cell()函数对矩阵进行分块。先看看help。对于60x50的二维矩阵X进行分块:

c = mat2cell(x, [10, 20, 30], [25, 25])
[10, 20, 30] 之和刚好为60,他们把行分裂为10,20,30这三个小块。[25, 25]把列分裂为两个25的小块。

 对于高维矩阵,直接举出四维矩阵的例子。这是作者在实现一篇Paper时遇到的。大致是给4张HH,HV,VH,VV(1600x1600)图来做给极化图每个像素做一个相干矩阵,然后要把这些像素点进行50X50个像素点为一个patch。相当于把一整张图进行网格化,每个网格里面有50X50个像素点。

用的四维矩阵。pixel是一个3X3的相干矩阵。
patch(:,:,m,n)=pixel;
可以把patch想象成一个mxn的二维矩阵,他的每个元素是一个3x3的矩阵。
在对path进行分块的时候,需要给每一维做一个划分。因为不想把patch的元素破坏了,所以前两维必然都要写成3。后面的m,n就该分裂成需要的维数了。patch是一个每个元包有50X50个3x3矩阵元素的32x32的矩阵。实际上写出来也就是patch(3,3,32,32);这是对原图相干矩阵X(:,:,1600,1600)的划分结果。
patch=mat2cell(X,3,3,ones(1,32)*50,ones(1,32)*50);%3250x50
  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值