Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

Number of zeros in a matrix

Asked by Bob Choy

Bob Choy (view profile)

on 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 Comments

Azzi Abdelmalek

Azzi Abdelmalek (view profile)

on 17 Nov 2012

Why did you need to do it with if condition?

Bob Choy

Bob Choy (view profile)

on 17 Nov 2012

Because thats what I usually work with but if thats impossible nevermind it.

Bob Choy

Bob Choy (view profile)

Tags

Products

No products are associated with this question.

3 Answers

Answer by Matt Fig

Matt Fig (view profile)

on 17 Nov 2012
Edited by Matt Fig

Matt Fig (view profile)

on 17 Nov 2012
Accepted answer

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 Comments

Bob Choy

Bob Choy (view profile)

on 18 Nov 2012

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.

Matt Fig

Matt Fig (view profile)

on 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 (view profile)

on 18 Nov 2012

Thank you so much! Keep up the good work, cheers!

Matt Fig

Matt Fig (view profile)

Answer by Andrei Bobrov

Andrei Bobrov (view profile)

on 17 Nov 2012

a - your matrix

number_columns = find(sum(~a) > 12);

0 Comments

Andrei Bobrov

Andrei Bobrov (view profile)

Answer by Walter Roberson

Walter Roberson (view profile)

on 18 Nov 2012
numel(M) - nnz(M)

0 Comments

Walter Roberson

Walter Roberson (view profile)

Contact us