Clear Filters
Clear Filters

remove empty rows of a cell

8 views (last 30 days)
How could I remove the empty rows of a cell array? For example if I have,
K =
{0×0 double } {0×0 double}
{0×0 double } {0×0 double}
{[ 0 10]} {[ 0]}
{[ 0 10]} {[ 0]}
How do I remove the first two rows?
Thanks in advance!

Accepted Answer

Scott MacKenzie
Scott MacKenzie on 23 Jun 2021
reshape(K(~cellfun('isempty',K)), [], size(K,2))

More Answers (1)

Joseph Cheng
Joseph Cheng on 23 Jun 2021
Edited: Joseph Cheng on 23 Jun 2021
you can use the function cellfun() in conjunction with isempty:
clear K
%generate dummy K
for Cind = 1:2
for Rind = 1:4
if Rind<3
%use the function isempty for each cell in K
emptyK= cellfun(@isempty,K)
emptyKrow = sum(emptyK,2)>1 %check to see which row in K is empty >1 for fully empty row >= if atleast 1 empty is in there
K(emptyKrow,:)=[] %kill off empty rows


Find more on Cell Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!