Effacer les filtres
Effacer les filtres

Number of zeros in a matrix

7 vues (au cours des 30 derniers jours)
Bob Choy
Bob Choy le 17 Nov 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 commentaires
Azzi Abdelmalek
Azzi Abdelmalek le 17 Nov 2012
Why did you need to do it with if condition?
Bob Choy
Bob Choy le 17 Nov 2012
Because thats what I usually work with but if thats impossible nevermind it.

Connectez-vous pour commenter.

Réponse acceptée

Matt Fig
Matt Fig le 17 Nov 2012
Modifié(e) : Matt Fig le 17 Nov 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 commentaires
Matt Fig
Matt Fig le 18 Nov 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 le 18 Nov 2012
Thank you so much! Keep up the good work, cheers!

Connectez-vous pour commenter.

Plus de réponses (2)

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

Walter Roberson
Walter Roberson le 18 Nov 2012
numel(M) - nnz(M)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by