deleting all the empty rows

2 Ansichten (letzte 30 Tage)
antonet
antonet am 13 Jul. 2012
Bearbeitet: Stephen23 am 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 Kommentare
antonet
antonet am 13 Jul. 2012
cheers per
Stephen23
Stephen23 am 25 Sep. 2014
Bearbeitet: Stephen23 am 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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Greg Heath
Greg Heath am 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 Kommentare
Nirmal
Nirmal am 13 Jul. 2012
Bearbeitet: Nirmal am 13 Jul. 2012
T in this case is cell array not the matrix and the cell can have empty string.
Greg Heath
Greg Heath am 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] []

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by