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 件のコメント

Jan
Jan 2019 年 3 月 28 日
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?

サインインしてコメントする。

 採用された回答

Jan
Jan 2019 年 3 月 28 日
編集済み: Jan 2019 年 3 月 28 日

0 投票

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 件のコメント

RAJ DATTA
RAJ DATTA 2019 年 3 月 29 日
thank you very much sir..

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeGet Started with MATLAB についてさらに検索

製品

リリース

R2018a

質問済み:

2019 年 3 月 28 日

コメント済み:

2019 年 3 月 29 日

Community Treasure Hunt

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

Start Hunting!

Translated by