Delete row from cell array if the difference between two cells is greater then X
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
David du Preez
el 5 de Jul. de 2016
Comentada: Thorsten
el 5 de Jul. de 2016
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 comentarios
Respuesta aceptada
Guillaume
el 5 de Jul. de 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 comentario
Thorsten
el 5 de Jul. de 2016
And to actually delete the row, use
JFM06CS(rowToDelete,:) = [];
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!