删除包含特定范围之外的数字的矩阵行的最佳方法是什么?例如
A =
200 400
500 200
500 100
600 200
200 100
300 200
Range = [200 500];
Run Code Online (Sandbox Code Playgroud)
然后将删除第3,4和5行,因为它们包含<200和> 500的数字.
这对你有用 -
A(any(A<200 | A>500,2),:)=[];
Run Code Online (Sandbox Code Playgroud)
一般说来 -
range1 = [200 500]; %// changed the variable name as
%// range is already a builtin function name
A(any(A<range1(1) | A>range1(2),2),:)=[];
Run Code Online (Sandbox Code Playgroud)
如果要删除的行数很多,为了提高性能,您可以将其索引到其他行而不是删除 -
range1 = [200 500];
A = A(~any(A<range1(1) | A>range1(2),2),:)
Run Code Online (Sandbox Code Playgroud)