How to count number of nonzero elements in part of cell arrays?

3 vues (au cours des 30 derniers jours)
Nik Rocky
Nik Rocky le 16 Juin 2020
Commenté : Nik Rocky le 16 Juin 2020
Hello,
I have a cell array C 1x5 cells with 1x3001 doubles
I want to count amount of elements bigger than zero in C{1,2}, C{1,3}, C{1,4} and C{1,5} (without C{1,1})
I can do:
numel(nonzeros(C{:,2})) + numel(nonzeros(C{:,3})) + .....
or in a loop:
for i = 2:5
Badumpsss = Badumpsss+numel(nonzeros(C{:,i}));
end
But maybe there are better way?

Réponse acceptée

David Hill
David Hill le 16 Juin 2020
sum(arrayfun(@(n)nnz(C{1,n}>0),2:5));
  3 commentaires
David Hill
David Hill le 16 Juin 2020
sum(arrayfun(@(n)nnz(C{1,n}>=0),2:5));
Nik Rocky
Nik Rocky le 16 Juin 2020
Facepalm, thank you!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

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