how to remove [0,0,0] cell from an array

I have a 8X1 column cell array with zeros as follows
[0,0,0]
4x3 double
5x3 double
10x3 double
6x3 doubel
[0,0,0]
4x3 double
8x3 double
Each cell has Nx3 data inside. [0,0,0] is 1x3 . I want to remove the cells that includes [0,0,0] and obtain
4x3 double
5x3 double
10x3 double
6x3 double
4x3 double
8x3 double
when I use
for i = 1:8
A{i}(A{i} == 0) = [],
end
it gives an error, "Brace indexing not supported for variables this type"
Thank you in advance !!!!

 採用された回答

DGM
DGM 2021 年 10 月 17 日

0 投票

Consider:
C = {rand(2,3) rand(3,3) rand(4,3) [0 0 0] rand(5,3)}.'
C = 5×1 cell array
{2×3 double} {3×3 double} {4×3 double} {[ 0 0 0]} {5×3 double}
iszerotuple = cell2mat(cellfun(@(x) isequal(x,[0 0 0]),C,'uniform',false))
iszerotuple = 5×1 logical array
0 0 0 1 0
C = C(~iszerotuple)
C = 4×1 cell array
{2×3 double} {3×3 double} {4×3 double} {5×3 double}

1 件のコメント

The Sanchi
The Sanchi 2021 年 10 月 18 日
It worked !!!!!!. Thank you so much

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

質問済み:

2021 年 10 月 16 日

コメント済み:

2021 年 10 月 18 日

Community Treasure Hunt

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

Start Hunting!

Translated by