delete rows in a cell array
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Anastasia Anastasiadou
le 29 Jan 2019
Modifié(e) : madhan ravi
le 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 commentaire
Stephen23
le 29 Jan 2019
@Anastasia Anastasiadou: please upload your data in a .mat file by clicking the paperclip button.
Réponse acceptée
madhan ravi
le 29 Jan 2019
Modifié(e) : madhan ravi
le 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 commentaires
madhan ravi
le 29 Jan 2019
Modifié(e) : madhan ravi
le 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.
Plus de réponses (2)
Omer Yasin Birey
le 29 Jan 2019
Modifié(e) : Omer Yasin Birey
le 29 Jan 2019
Lets say your cell array's variable name is 'a'
a = a(all(cellfun(@(x)x~=0,a),2),:);
5 commentaires
Omer Yasin Birey
le 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
le 29 Jan 2019
Let A be your matrix with size (m,n)
idx = A==0 ;
A(sum(A,2)~=n,:) = [] ;
2 commentaires
Voir également
Catégories
En savoir plus sur Cell Arrays dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!