Number of zeros in a matrix

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일

0 개 추천

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

Bob Choy
Bob Choy 2012년 11월 18일
It works, awesome! Now to the hard part, how do I find out which columns have more than 12 zeros and then write that info into a .txt file?
Thank you.
Matt Fig
Matt Fig 2012년 11월 18일
What do you mean by write to a text file? You want to write only those columns that do or do not have more than 12 zeros? You want to write the whole column including all the zeros?
I want to write in a .txt file numbers of the columns that have more than 12 zeros. E.g. say I wanted the columns with atleast one zero. (Ignore the "if true" nonsense]
if true
% code
end
M = 1 0 1 1
1 1 1 0
I want the function to save a .txt file with the numbers 2 and 4.
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일

1 개 추천

a - your matrix
number_columns = find(sum(~a) > 12);

카테고리

도움말 센터File Exchange에서 Data Type Identification에 대해 자세히 알아보기

태그

질문:

2012년 11월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by