满意答案
dj298
推荐于 2017.11.25
采纳率:58% 等级:12
已帮助:5736人
可能我的方法比较笨一些,但可以实现你的目的,可以参考下:
a = [ 9 8 8 1 2
6 7 3 1 5
9 9 9 9 3
4 5 6 5 7
7 6 7 7 7 ];
larger5 = a > 5; % 通过判断条件得到逻辑0 1矩阵
rulr = logical( [ 1 1 1 ] ); % 用来检测的标尺
[ Rows Cols ] = size( a );
for i = 1 : Rows
for j = 1 : Cols - 2
% 用标尺来检测连续的三个数是否都大于5
if( all( larger5( i, j : j + 2 ) & rulr ) )
a( i, j : j + 2 ) = 0;
end
end
end
结果:
a =
0 0 0 1 2
6 7 3 1 5
0 0 0 0 3
4 5 6 5 7
0 0 0 0 0
05分享举报