Borrar filtros
Borrar filtros

How to count the number of nonzero numbers in a row.

9 visualizaciones (últimos 30 días)
jaah navi
jaah navi el 27 de Feb. de 2019
Comentada: madhan ravi el 27 de Feb. de 2019
I having a matrix A=[ 0 0 0 0 0.4 0 0 0.3;
0.1 0 0 0.7 0 0.2 0 0 0;
0 0 0.6 0 0 0 0 0.9]
I want to count the number of elements which is not equal to zero present in each row
the answer will be A=[2;
3;
2]
I tried with the command
D=(numel(A~=0),1)
But unable to get the result.Could anyone please help me on this.

Respuesta aceptada

KSSV
KSSV el 27 de Feb. de 2019
Editada: KSSV el 27 de Feb. de 2019
Read about nnz
A=[ 0 0 0 0 0.4 0 0 0.3;
0.1 0 0 0.7 0 0.2 0 0 ;
0 0 0.6 0 0 0 0 0.9] ;
[m,n] = size(A) ;
iwant = zeros(m,1) ;
for i = 1:m
iwant(i) = nnz(A(i,:)) ;
end
iwant

Más respuestas (1)

madhan ravi
madhan ravi el 27 de Feb. de 2019
No loops needed:
sum(A~=0,2)
  2 comentarios
Jan
Jan el 27 de Feb. de 2019
+1. Most efficient solution.
madhan ravi
madhan ravi el 27 de Feb. de 2019
@Jan: Thank you!

Iniciar sesión para comentar.

Categorías

Más información sobre Sparse Matrices 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