how to remove zeros from a cell array

6 vues (au cours des 30 derniers jours)
RAJ DATTA
RAJ DATTA le 28 Mar 2019
Commenté : RAJ DATTA le 29 Mar 2019
suppose i have a set of coordinate (which is given like [(x1,x2); (x3,x4); (0,0); (x5;x6)]), in which many are zeros, if i remove zeros with the following code, i am getting all rest coordinates in a single row [x1,x2,x3,x4,x5,x6], which is not desired. Please help. Thank you.
SOUVIK
for j1=1: length(xcor1)
for i1=1:9
if ~isempty(DistanceInClass2{j1}{i1})
CorInClass2{j1}{i1}(CorInClass2{j1}{i1}==0)=[];
end
end
end
  1 commentaire
Jan
Jan le 28 Mar 2019
You forgot to ask a question or mention, what you want to get instead. Do you want to remove rows, which contain a zero or only zeros?

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 28 Mar 2019
Modifié(e) : Jan le 28 Mar 2019
for j1 = 1:length(xcor1)
for i1 = 1:9
Data = DistanceInClass2{j1}{i1};
if ~isempty(Data)
Data = Data(any(Data, 2), :);
CorInClass2{j1}{i1} = Data;
end
end
end
Maybe you want to replace any by all ? Alternatively:
Data(any(Data == 0, 2)) = []; % or: all()
  1 commentaire
RAJ DATTA
RAJ DATTA le 29 Mar 2019
thank you very much sir..

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by