how to remove zeros from a cell array

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()

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with MATLAB dans Centre d'aide 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