刪除包含特定範圍之外的數字的矩陣行的最佳方法是什麼?例如,刪除包含特定範圍之外的任何數字的行 - MATLAB
A =
200 400
500 200
500 100
600 200
200 100
300 200
Range = [200 500];
行3,4和5然後將被刪除,因爲它們包含數字< 200和> 500。
刪除包含特定範圍之外的數字的矩陣行的最佳方法是什麼?例如,刪除包含特定範圍之外的任何數字的行 - MATLAB
A =
200 400
500 200
500 100
600 200
200 100
300 200
Range = [200 500];
行3,4和5然後將被刪除,因爲它們包含數字< 200和> 500。
這應該爲你工作 -
A(any(A<200 | A>500,2),:)=[];
聲明,一般 -
range1 = [200 500]; %// changed the variable name as
%// range is already a builtin function name
A(any(A<range1(1) | A>range1(2),2),:)=[];
如果要刪除的行數很多,對性能,你還不如索引到其他行代替刪除 -
range1 = [200 500];
A = A(~any(A<range1(1) | A>range1(2),2),:)
太好了。謝謝!非常豐富。 – AnnaSchumann 2014-11-05 12:10:47