Trying to delete rows in a table based on specific values using indexing
조회 수: 10 (최근 30일)
이전 댓글 표시
I have a variable with 3 columns and 343127 rows. I'm trying to delete rows based on values in the 3rd column using the following method that I got from another question in the community here:
idx = any(PARTidMat<738341.7917 | PARTidMat>738342,3);
out = PARTidMat(idx,:);
PARTidMat(idx,:) = [];
PARTidMat is the variable I'm trying to delete rows from. Rows containing 738341.7917 - 738342 in column 3 are the rows I'm trying to delete. I don't have any issues running line 1. It produces a logical variable with the same dimensions as my PARTidMat variable. Columns 1 and 2 all have logical values of 1 and column 3 has 0 values where the values meet the parameters set in the idx line of code (I checked this in excel).
When I run line 2, I get the following error:
The logical indices in position 1 contain a true value outside of the array bounds.
When I run the 3rd line, I get the following error (maybe because line 2 doesn't work, but maybe for a different reason?):
Matrix index is out of range for deletion.
I'm not sure what I'm doing wrong here. Can anyone help me out?
댓글 수: 0
채택된 답변
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!