delete rows in a cell array
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Anastasia Anastasiadou
am 29 Jan. 2019
Bearbeitet: madhan ravi
am 30 Jan. 2019
having a cell array containing in 1st column a name of a country and in next column values, how can I delete rows containing 1 or more zeros values?
1 Kommentar
Stephen23
am 29 Jan. 2019
@Anastasia Anastasiadou: please upload your data in a .mat file by clicking the paperclip button.
Akzeptierte Antwort
madhan ravi
am 29 Jan. 2019
Bearbeitet: madhan ravi
am 29 Jan. 2019
C={'country1' 11 33 55 40
'country2' 22 0 0 0
'country3' 58 44 55 5 };
idx=cellfun(@all,C,'un',0);
C(~all(cell2mat(idx),2),:)=[]
10 Kommentare
madhan ravi
am 29 Jan. 2019
Bearbeitet: madhan ravi
am 29 Jan. 2019
Help us to help you! , that's why we ask you to upload the required files at he very beginning when you ask a question so that a fast solution can be provided.
Weitere Antworten (2)
Omer Yasin Birey
am 29 Jan. 2019
Bearbeitet: Omer Yasin Birey
am 29 Jan. 2019
Lets say your cell array's variable name is 'a'
a = a(all(cellfun(@(x)x~=0,a),2),:);
5 Kommentare
Omer Yasin Birey
am 29 Jan. 2019
That should work
remZeros = a(all(cellfun(@(x)x~=0,a),2),:);
remZeros(2:end+1,:) = remZeros(1:end,:);
remZeros(1,:) = a(1,:);
KSSV
am 29 Jan. 2019
Let A be your matrix with size (m,n)
idx = A==0 ;
A(sum(A,2)~=n,:) = [] ;
2 Kommentare
Siehe auch
Kategorien
Mehr zu Cell Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!