Delete row from cell array if the difference between two cells is greater then X
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Guillaume
le 5 Juil 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 commentaire
Thorsten
le 5 Juil 2016
And to actually delete the row, use
JFM06CS(rowToDelete,:) = [];
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!