how to remove empty cell array contents?
Show older comments
Hello, I've got a cell array, lets say:
R =
[ 691x2 double]
[]
[]
[]
[]
[ 12x2 double]
[ 11x2 double]
[]
[]
[ 112x2 double]
[ 13x2 double]
Does anyone know of a quick way I could remove the non-zero elements of the cell array? This cell array will be a different length and will have a different number of non-zero elements each time, dependent on another loop
Thanks, Jim
Accepted Answer
More Answers (1)
David Young
on 25 Jan 2012
Rnew = R(~cellfun(@isempty, R))
3 Comments
Harold
on 25 Apr 2012
I'm also trying to remove empty cells from a matrix but I can't figure out how to maintain the order for each row and column.
D=
{[-24.7697910000000,-15.8191235000000],[],[-12.6771670000000,20.4587480000000],[];[],[-20.6771670000000,-3.54125200000000],[-11.9803417500000,-14.5401785500000],[];[],[-20.6771670000000,-3.54125200000000],[4.32283300000000,-1.04125200000000],[];[],[13.0196582500000,-12.0401785500000],[],[-24.7697910000000,-15.8191235000000];[-11.9803417500000,-14.5401785500000],[],[4.32283300000000,-1.04125200000000],[];[],[-12.6771670000000,20.4587480000000],[],[13.0196582500000,-12.0401785500000]}:
I need
[-24.7697910000000,-15.8191235000000] [-12.6771670000000,20.4587480000000]
[-20.6771670000000,-3.54125200000000] [-11.9803417500000,-14.5401785500000]
[-20.6771670000000,-3.54125200000000] [4.32283300000000,-1.04125200000000]
[13.0196582500000,-12.0401785500000] [-24.7697910000000,-15.8191235000000]
[-11.9803417500000,-14.5401785500000] [4.32283300000000,-1.04125200000000]
[-12.6771670000000,20.4587480000000] [13.0196582500000,-12.0401785500000]
Andrei Bobrov
on 25 Apr 2012
D1 = D.';
out = reshape(D1(~cellfun(@isempty,D1)),2,[])';
Daniel Bridges
on 1 Mar 2017
>> data(~structfun(@isempty,data))
Error using structfun
Inputs to STRUCTFUN must be scalar structures.
Categories
Find more on Operators and Elementary Operations 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!