remove cell array content with condition: length of element in cell smaller than specific value

4 visualizaciones (últimos 30 días)
Let's say:
A : 3x1 cell class
A={cell_1 ; cell_2 ; cell_3 }
A={[1x2 double];[1x5 double];[1x3 double]}
cell_1 [999,222]
cell_2 [444,123,2000,789,1000]
cell_3 [5000,9000,4000]
If I wanna count how many element in each cell:
out1= cellfun('length',A);
out1=[2;5;3]
Now, I wanna delete the row of cell A, If the number element in that row <3. How can I do that? The result is:
result : 2x1 cell class
result={cell_2 ; cell_3 }
result={[1x5 double];[1x3 double]}
cell_2 [444,123,2000,789,1000]
cell_3 [5000,9000,4000]

Respuesta aceptada

Stephen23
Stephen23 el 4 de Mzo. de 2018
Editada: Stephen23 el 4 de Mzo. de 2018
A(cellfun('length',A)<3) = []
or if you want to leave the original variable unchanged:
B = A(cellfun('length',A)>=3);

Más respuestas (0)

Categorías

Más información sobre Debugging and Analysis en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by