Delete row from cell array if the difference between two cells is greater then X
2 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Guillaume
on 5 Jul 2016
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 Comment
Thorsten
on 5 Jul 2016
And to actually delete the row, use
JFM06CS(rowToDelete,:) = [];
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!