Calculate the number of nonzero rows

10 visualizaciones (últimos 30 días)
muhammad muda
muhammad muda el 29 de Ag. de 2019
Comentada: muhammad muda el 29 de Ag. de 2019
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.

Respuesta aceptada

Stephen23
Stephen23 el 29 de Ag. de 2019
>> nnz(any(B,2))
ans = 2
  2 comentarios
Jos (10584)
Jos (10584) el 29 de Ag. de 2019
the way to go, but if you insist on using ALL, try
nnz(~all(B,2))
muhammad muda
muhammad muda el 29 de Ag. de 2019
yes it works! Thanks!

Iniciar sesión para comentar.

Más respuestas (1)

the cyclist
the cyclist el 29 de Ag. de 2019
Editada: the cyclist el 29 de Ag. de 2019
Use any instead of all. Your code is counting rows in which all entries are non-zero.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by