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)))

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!