Number of zeros in a matrix

17 visualizaciones (últimos 30 días)
Bob Choy
Bob Choy el 17 de Nov. de 2012
I need to create a function where I have a matrix and the function returns the number of zeros in that matrix. I need to do this using the if condition.
Then write in a .txt file which columns had more than 12 zeros.
Can someone help me out with this?
Thank you very much.
  2 comentarios
Azzi Abdelmalek
Azzi Abdelmalek el 17 de Nov. de 2012
Why did you need to do it with if condition?
Bob Choy
Bob Choy el 17 de Nov. de 2012
Because thats what I usually work with but if thats impossible nevermind it.

Iniciar sesión para comentar.

Respuesta aceptada

Matt Fig
Matt Fig el 17 de Nov. de 2012
Editada: Matt Fig el 17 de Nov. de 2012
The number of zeros in the matrix A is:
sum(~A(:))
So we can make this a function:
f = @(x) sum(~x(:));
Now test it:
x = [1 2 3;0 0 0;3 0 9]
f(x)
  5 comentarios
Matt Fig
Matt Fig el 18 de Nov. de 2012
M = [1 0 1 1;1 1 1 0]
fid = fopen('mytext.txt','wt')
fprintf(fid,'%i ',find(sum(~M) >= 1))
fclose(fid)
Bob Choy
Bob Choy el 18 de Nov. de 2012
Thank you so much! Keep up the good work, cheers!

Iniciar sesión para comentar.

Más respuestas (2)

Andrei Bobrov
Andrei Bobrov el 17 de Nov. de 2012
a - your matrix
number_columns = find(sum(~a) > 12);

Walter Roberson
Walter Roberson el 18 de Nov. de 2012
numel(M) - nnz(M)

Categorías

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