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!