Number of zeros in a matrix

19 Ansichten (letzte 30 Tage)
Bob Choy
Bob Choy am 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 Kommentare
Azzi Abdelmalek
Azzi Abdelmalek am 17 Nov. 2012
Why did you need to do it with if condition?
Bob Choy
Bob Choy am 17 Nov. 2012
Because thats what I usually work with but if thats impossible nevermind it.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt Fig
Matt Fig am 17 Nov. 2012
Bearbeitet: Matt Fig am 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 Kommentare
Matt Fig
Matt Fig am 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 am 18 Nov. 2012
Thank you so much! Keep up the good work, cheers!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

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

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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by