how to remove zeros from a cell array
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
RAJ DATTA
am 28 Mär. 2019
Kommentiert: RAJ DATTA
am 29 Mär. 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 Kommentar
Jan
am 28 Mär. 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?
Akzeptierte Antwort
Jan
am 28 Mär. 2019
Bearbeitet: Jan
am 28 Mär. 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()
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical 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!