注册 登录
编程论坛 Matlab

[求助]如何在矩阵中连续地提取子矩阵

likeus 发布于 2008-04-22 19:27, 1525 次点击
我想要在一个600*800的矩阵中,从第一个像素起,提取一个60*200的子矩阵,将其存储起来,然后从第二个像素开始,接着提取60*200的子矩阵,也存储起来,如此进行到最后。形象一点说就是用一个60*200的框(区域)沿着大矩阵从头走到尾,每挪动一下记录一次框里的矩阵。
我自己编的程序是:A=rand(600,800);
x=zeros(60,200);
for i=1:600
    for j=1:800
       x(i,j)=A(i:i+60;j:j+200);
    end
end

红色的部分是错的,警报说Incomplete or misformed expression or statement.我不知道错在哪里,而且我也不太会用zeros函数,在线等待高手指教。

[[it] 本帖最后由 likeus 于 2008-4-22 19:30 编辑 [/it]]
1 回复
#2
zidianqi2008-04-24 09:29
for i=1:541
for j=1:601
x=A(i:i+59,j:j+199);
end
end


注意各个参数的实际值,还有x=A(i:i+59,j:j+199);中,两个参数之间使用逗号隔开的,不是分号!
1