Calculate the number of nonzero rows

6 views (last 30 days)
Hi,
How can I calculate the number of nonzero rows in a matrix?
I have
B =
3 4
5 0
0 0
and the number of nonzero rows (that I need) is 2. (because the 2nd row has the element of '5')
I tried sum( all( B ~= 0, 2 ) ); but the answer is 1.

Accepted Answer

Stephen23
Stephen23 on 29 Aug 2019
>> nnz(any(B,2))
ans = 2
  2 Comments
Jos (10584)
Jos (10584) on 29 Aug 2019
the way to go, but if you insist on using ALL, try
nnz(~all(B,2))

Sign in to comment.

More Answers (1)

the cyclist
the cyclist on 29 Aug 2019
Edited: the cyclist on 29 Aug 2019
Use any instead of all. Your code is counting rows in which all entries are non-zero.

Community Treasure Hunt

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

Start Hunting!