Delete row from cell array if the difference between two cells is greater then X
1 回表示 (過去 30 日間)
古いコメントを表示
I have a cell array JFM06CS(88x4). I want to delete the row if the difference between column 4 and 2 is greater than 6.5. Attached is the file and I tried the following code.
rowToDelete = [JFM06CS{:,4} - JFM06CS{:,2}] > 6.5;
0 件のコメント
採用された回答
Guillaume
2016 年 7 月 5 日
You nearly got it right:
rowToDelete = [JFM06CS{:,4}] - [JFM06CS{:,2}] > 6.5;
I would transpose the output to get a column vector.
Alternatively:
rowToDelete = diff(cell2mat(JFM06CS(:, [2 4])) > 6.5;
1 件のコメント
Thorsten
2016 年 7 月 5 日
And to actually delete the row, use
JFM06CS(rowToDelete,:) = [];
その他の回答 (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!