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.
No products are associated with this question.
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)
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)
a - your matrix
number_columns = find(sum(~a) > 12);
2 Comments
Direct link to this comment:
http://www.mathworks.com/matlabcentral/answers/54006#comment_111706
Why did you need to do it with if condition?
Direct link to this comment:
http://www.mathworks.com/matlabcentral/answers/54006#comment_111709
Because thats what I usually work with but if thats impossible nevermind it.