MATLAB矩阵分割问题

例如现在有一个1000*1000的矩阵,我想分割成100个100*100的小矩阵应该怎么编程I=imread('123')B=zeros(10,10,100,100);f... 例如现在有一个1000*1000的矩阵,我想分割成100个100*100的小矩阵应该怎么编程

I=imread('123')
B=zeros(10,10,100,100);
for i=1:10;
for j=1:10;
row=(i-1)*100+1; %行
column=(j-1)*100+1; %列
B(i,j,:,:)=I(row:row+99,column:column+99);
end
end
B(1,1,:,:)
如果程序是这样子的,那我想输出第一个小矩阵该怎么办,我还想算每个小矩阵的方差
展开
 我来答
dukinkin
推荐于2016-07-21 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2444
采纳率:90%
帮助的人:887万
展开全部
a=rand(1000); %a是1000x1000的矩阵
b=mat2cell(a,100*ones(10,1),100*ones(10,1));

得到的b矩阵就是10x10的元胞矩阵
其中每个元素都是一个100x100的矩阵

想要输出第一个矩阵用b{1,1}
想要最后一个矩阵用 b{10,10}
以此类推
难得心高6879
2014-09-13 · 超过60用户采纳过TA的回答
知道答主
回答量:120
采纳率:0%
帮助的人:112万
展开全部
matlab是列优先,所以直接 reshape 就行
B = reshape(A,16,16);
是否可以解决您的问题?
追问
我的目的是将原矩阵1000*1000元素分割成100个100*100的矩阵,元素位置不变,如果用那个函数,元素位置发生的改变
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式