Delete empty cell array
12 views (last 30 days)
Show older comments
Hi all,I have a problem regarding deletion in cell array.
The cell array is like A=
neigh node_id
[] [1]
[3X1] [2]
[5X1] [3]
[2X1] [4]
[] [5]
[9X1] [6]
Now, i want to delete the cells A{1,:} and A{5,:},as (A{1,1}=[] and A{5,1}=[]). Thus resulting array would be like:
A=
neigh node_id
[3X1] [2]
[5X1] [3]
[2X1] [4]
[9X1] [6]
the code
A = A(~cellfun('isempty', A)); is not able to work on this type of array A=cell(6,2).
Thanks
1 Comment
Jan
on 3 Aug 2015
"is not able to work" is a bad description of the problem. Please post the error message or explain in detail the difference between the results and your expectations.
Accepted Answer
Jan
on 3 Aug 2015
A = A(~any(cellfun('isempty', A), 2), :);
3 Comments
Marcio Teixeira
on 27 Apr 2021
That is clean and elegant solution Jan. I learn a lot with this community.
Thank you very much.
More Answers (1)
Manolis Michailidis
on 3 Aug 2015
Edited: Manolis Michailidis
on 3 Aug 2015
have you tried something like this?
for i=1:length(your_cell_size)
idx(i) = find(~cellfun(@isempty,A{i}));
end
A=A{~idx}
0 Comments
See Also
Categories
Find more on Get Started with MATLAB 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!