delete rows in a cell array
Mostrar comentarios más antiguos
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 comentario
Stephen23
el 29 de En. de 2019
@Anastasia Anastasiadou: please upload your data in a .mat file by clicking the paperclip button.
Respuesta aceptada
Más respuestas (2)
Omer Yasin Birey
el 29 de En. de 2019
Editada: Omer Yasin Birey
el 29 de En. de 2019
Lets say your cell array's variable name is 'a'
a = a(all(cellfun(@(x)x~=0,a),2),:);
5 comentarios
Anastasia Anastasiadou
el 29 de En. de 2019
madhan ravi
el 29 de En. de 2019
you mean if there is any zero in the row you want to delete it?
Anastasia Anastasiadou
el 29 de En. de 2019
Omer Yasin Birey
el 29 de En. de 2019
That should work
remZeros = a(all(cellfun(@(x)x~=0,a),2),:);
remZeros(2:end+1,:) = remZeros(1:end,:);
remZeros(1,:) = a(1,:);
Anastasia Anastasiadou
el 29 de En. de 2019
KSSV
el 29 de En. de 2019
Let A be your matrix with size (m,n)
idx = A==0 ;
A(sum(A,2)~=n,:) = [] ;
2 comentarios
madhan ravi
el 29 de En. de 2019
? OP has mentioned it’s a cell array not a matrix.
Anastasia Anastasiadou
el 29 de En. de 2019
Categorías
Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
