deleting all the empty rows

1 view (last 30 days)
antonet
antonet on 13 Jul 2012
Edited: Stephen23 on 25 Sep 2014
Dear all,
I have
[N,T,R]]=xlsread(name);
I want to erase all the empty rows in T.
I suggest
T( all(cellfun(@isempty,T),2), : ) = [];
Am i correct?
  3 Comments
antonet
antonet on 13 Jul 2012
cheers per
Stephen23
Stephen23 on 25 Sep 2014
Edited: Stephen23 on 25 Sep 2014
A little speed-up that is sometimes worth keeping in mind:
T(all(cellfun('isempty',T),2),:) = [];
There are some special cases (which run faster), where the functions can be supplied as a string. See the cellfun docs for more info.

Sign in to comment.

Answers (1)

Greg Heath
Greg Heath on 13 Jul 2012
I don't think MATLAB allows empty rows or columns
>> A = [ 1 2 3; [] [] [] ; 7 8 9 ]
A = 1 2 3
7 8 9
>> A = [ 1 [] 3; 4 [] 6; 7 [] 9 ]
A = 1 3
4 6
7 9
>> A = [ [] 2 3; 4 [] 6; 7 8 [] ]
A = 2 3
4 6
7 8
Hope this helps.
Greg
  2 Comments
Nirmal
Nirmal on 13 Jul 2012
Edited: Nirmal on 13 Jul 2012
T in this case is cell array not the matrix and the cell can have empty string.
Greg Heath
Greg Heath on 25 Sep 2014
Correct:
>> A = { 1 2 3; [] [] [] ; 7 8 9 }, B = { 1 [] 3; 4 [] 6; 7 [] 9 }, C = { [] 2 3; 4 [] 6; 7 8 [] }
A = [1] [2] [3]
[] [] []
[7] [8] [9]
B = [1] [] [3]
[4] [] [6]
[7] [] [9]
C = [] [2] [3]
[4] [] [6]
[7] [8] []

Sign in to comment.

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!