Removing rows based on numerical value
조회 수: 2 (최근 30일)
이전 댓글 표시
I would like to remove rows from a very large array based on a column that increments from 0.00 by tenths or hundreths to very large numbers. I only want to keep the rows that have zeros in the decimal places. I'm just not sure what MATLAB function / technique to use to pull only those rows.
댓글 수: 0
답변 (1개)
dpb
2016년 5월 15일
편집: dpb
2016년 5월 16일
Presuming "...only want to keep the rows that have zeros in the decimal places" means the integer-valued locations, then lose those not matching--
x(mod(x(:,nCol),1)~=0),:)=[];
or, conversely, keep the wanted--
x=x(mod(x(:,nCol),1)==0),:);
where nCol is the column of interest in array x
Not sure if either has any speed advantage for larger arrays or not...
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!