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

15 vues (au cours des 30 derniers jours)
The Sanchi
The Sanchi le 16 Oct 2021
Commenté : The Sanchi le 18 Oct 2021
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 !!!!

Réponse acceptée

DGM
DGM le 17 Oct 2021
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 commentaire
The Sanchi
The Sanchi le 18 Oct 2021
It worked !!!!!!. Thank you so much

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by