Effacer les filtres
Effacer les filtres

how to search about a matrix in a cell?

2 vues (au cours des 30 derniers jours)
Sarah A
Sarah A le 19 Jan 2019
Commenté : Sarah A le 19 Jan 2019
Hello,
Suppose that I have the cell matrix A which contains the following elements:
A={
[0;0] [0;1]
[1;0] [0;0]
}
So I want to use a line of code that can count how many [0;0] are in each row ?
Regards,

Réponse acceptée

Guillaume
Guillaume le 19 Jan 2019
Modifié(e) : Guillaume le 19 Jan 2019
it's always a good idea to give the result you expect for your example to avoid ambiguity.
A={
[0;0] [0;1]
[1;0] [0;0]
}
sum(cellfun(@(x) isequal(x, [0;0]), A), 2)
results in
ans =
1
1
count of [0;0] in each row.
  1 commentaire
Sarah A
Sarah A le 19 Jan 2019
Great ! Thank you for your answer.

Connectez-vous pour commenter.

Plus de réponses (1)

madhan ravi
madhan ravi le 19 Jan 2019
Modifié(e) : madhan ravi le 19 Jan 2019
Sarah's (OP) example:
A={ ...
[0;0] [0;1]
[1;0] [0;0]
};
counts=nnz(~cellfun(@any,A))
Gives:
counts =
2
Stephen's example:
A={[0;0] [0;1] [1;0] [0;0] [0;0]};
counts=nnz(~cellfun(@any,A))
Gives:
counts =
3
  5 commentaires
madhan ravi
madhan ravi le 19 Jan 2019
check the edited answer
Sarah A
Sarah A le 19 Jan 2019
Yes this code work with me:
A={ ...
[0;0] [0;1]
[1;0] [0;0]
};
counts=nnz(~cellfun(@any,A))
but what if I want to count how many [0;0] in each row? how many [0;1] in each row? how many [1;1] in each row?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical 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