Calculate the number of nonzero rows

10 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.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!