Number of zeros in a matrix

7 次查看(过去 30 天)
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 个评论
Azzi Abdelmalek
Azzi Abdelmalek 2012-11-17
Why did you need to do it with if condition?
Bob Choy
Bob Choy 2012-11-17
Because thats what I usually work with but if thats impossible nevermind it.

请先登录,再进行评论。

采纳的回答

Matt Fig
Matt Fig 2012-11-17
编辑:Matt Fig 2012-11-17
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 个评论
Matt Fig
Matt Fig 2012-11-18
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 2012-11-18
Thank you so much! Keep up the good work, cheers!

请先登录,再进行评论。

更多回答(2 个)

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

Walter Roberson
Walter Roberson 2012-11-18
numel(M) - nnz(M)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by