how can I delete empty elements of a cell?

1 view (last 30 days)
may
may on 12 Mar 2013
suppose I have a cell c
c =
[]
[1x3 double]
[]
[]
[1x2 double]
and I want to delete all the empty elements in c and get
c =
[1x3 double]
[1x2 double]
how can I do this?

Answers (2)

Walter Roberson
Walter Roberson on 12 Mar 2013
c( cellfun( @isempty, c ) ) = [];
  2 Comments
may
may on 12 Mar 2013
is this the same as
result = c(~cellfun('isempty',c))
?
Walter Roberson
Walter Roberson on 12 Mar 2013
The form you gave will select the non-empty entries into "result" leaving everything in "c". The form I gave will delete the empty entries in "c" leaving "c" with no empty entries. Based on your showing "c =" in your question, what I gave is what you requested.

Sign in to comment.


the cyclist
the cyclist on 12 Mar 2013
c = c(not(cellfun(@isempty,c)))

Products

Community Treasure Hunt

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

Start Hunting!