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

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/06 08:14:42

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
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,],怎么做?

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
可能我的方法比较笨一些,但可以实现你的目的,可以参考下:
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中如何删除矩阵中特定的几个元素给定一个矩阵[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 请问用matlab,如何将一个二维矩阵中 所有列数据都小于600的行删除? matlab中怎样同时删除矩阵两列元素 matlab中一个100*1的列矩阵,阵元都是5,如何形成 MATLAB矩阵操作删除矩阵中的特定行,这些行中包含3的倍数的元素.比如a=[1 1 1 2;2 2 4 3;4 4 1 5:6 2 2 43],操作之后得到的矩阵为[1 1 1 2;4 4 1 5].要求用矩阵操作,不用循环就能实现. matlab中怎么判断矩阵中相等的几行,并只保留一行,删除其他行 matlab 中如何一个矩阵中查找几个元素的位置,比如元素为2 5两值的位置 如何随机提取matlab矩阵中一个元素的位置关于matlab矩阵问题 matlab如何删除错误命令行matlab中,输入命令错误后会有红色错误提示.如何只删除错误的命令行和提示行,保留前面的正确命令? matlab编程,如何将一矩阵中等于某个值的元素全部替换成另一个值?我有个矩阵,里面有些元素为某一特定值,如1.5,请教如何将矩阵中等于1.5的元素全部置1.另外,如果特定的值为NaN,也能执行同样 matlab中矩阵A,子矩阵B,如何求得剩余构成矩阵C的问题 在MATLAB中如何表示矩阵的转置 Matlab如何找出两个矩阵中相同的元素 matlab中如何求矩阵的特征值和特征向量 matlab中如何任意选取一个矩阵的任意几行几列 matlab中如何交换矩阵的行或者列 Matlab如何找出两个矩阵中相同的元素 matlab中如何求两个矩阵的交集