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

조회 수: 3(최근 30일)
The Sanchi 2021년 10월 16일
댓글: The Sanchi 2021년 10월 18일
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"

댓글을 달려면 로그인하십시오.

### 채택된 답변

DGM 2021년 10월 17일
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 2021년 10월 18일
It worked !!!!!!. Thank you so much

댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

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

Start Hunting!

Translated by