matlab中如何删除矩阵中特定的几个元素

给定一个矩阵[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]
我想要去除该矩阵中行方向“连续三个或以上(4个,5个)数值大于5的部分”,也就是最终变为[0,0,0,1,2;6,7,3,1,5;0,0,0,0,3;4,5,6,5,7;0,0,0,0,],怎么做?

可能我的方法比较笨一些,但可以实现你的目的,可以参考下:
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
温馨提示:内容为网友见解,仅供参考
无其他回答

MATLAB怎么去除矩阵中的特定位置某个元素
1、首先我们打开matlab,在命令行窗口中输入a=[12 0 15 5;2 4 0 7;2 3 0 0;0 0 0 0]。2、输入a(find(a==0))=[],去除掉a矩阵内的0元素。3、按回车键之后,可以看到已经去除了a矩阵所有的0元素,并变成了1行数据。4、如果我们想去除矩阵的全0行的话,输入a(all(a==0,2),:)...

matlab删除矩阵某些行\/列的方法
方法一:通过空矩阵转换删除第一步在我们的电脑上打开matlab的命令行窗口,输入“A=[ 1 2 3;4 5 6;7 8 9]”,按回车键,如下图所示:第二步我们输入“B=A;B(:,[1])=[];B”代码,这是删除A矩阵的第一列,如下图所示:第三步按回车键之后,可以看到第一列被删除了,并得到了新矩阵B...

matlab中如何删除矩阵中特定的几个元素?
a=[1 2 3 4 5 4 3 2 1];a(a==3)=[];我不知道你说的是哪种情况,第一个是把指定位置的元素删掉,第二个是把指定大小的元素删掉!Locate=find(a>122) %a是存储数据的数组名,find是找到大于122的数的位置 a(Locate)=[]; %删除数组a中大于122的元素 ...

matlab 删除数组中满足一定条件的元素
1、打开matlab,在命令行窗口中输入a=[1 5 6 7;8 12 14 16;6 3 5 7],创建一个3行4列的a矩阵。2、输入x=find(a>10),找到a数组中大于10的元素的下标。3、按回车键之后,可以看到找到大于10的元素下标,下标位置是按一列开始数,一列一列数的。4、输入a(x)=[],将a数组中大于10的...

Matlab查找或删除数据中满足条件的元素
在处理数据的时候,需要查找是否有满足自己需要的数据,或者删除不符合自己需要的数据,这个用Matlab进行处理的时候更为简单,Matlab可以处理更多形式的数据。查找一个10×100的随机矩阵中每行大于80的元素,并返回其个数 %程序如下: %%%%%程序开始%%%%%%% N = 10; a = randi([50 100], N, 100...

matlab如何去掉矩阵中的指定元素
如果是多维的,a(a==0) = [] 会把a变成一维的,然后结果类似于上面的结果。原因是每行每列中的0的个数不同,无法保持多维的样子,只能拉长了当成一维处理。a = 4 4 4 2 2 4 0 3 2 2 2 1 2 4 3 3 0 5 4 4 1 0 0 ...

求Matlab程序:删除矩阵中的某些列
1,将所有要删除的行标顺序排列成向量v,然后用命令 "矩阵变量名"(v,:)=[];%可删除与"矩阵变量名"对应的矩阵中的指定行(通过v指定),并改变原矩阵维数 2,将所有要保留的行标顺序排列成向量v,然后用命令 "矩阵变量名"="矩阵变量名"(v,:);%即将与"矩阵变量名"对应的矩阵中的指定行(通过...

在MATLAB中如何剔除矩阵中的元素
以删除矩阵的第一列为例。matlab运行下面俩行:a=rand(4,5);a(:,1)=[]

matlab如何去掉矩阵中的指定元素
A(i,j) 表示矩阵A 的第i 行第j 列元素.找到这个元素,接下来如何处理看你自己了.关于矩阵“去掉元素”,我就不知道什么意思了,去了指定元素就不是矩阵了.

matlab中如何删除矩阵中特定的几个元素
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...

相似回答