How to count how many numbers are odd or even?

a = 3
r = 2
n = 0:5
g=0;
for n=n
g=g+(a*(r^n))
end
% How many numbers are even?
(rem(g,2)==0)
if ans==1('Even')
end
if ans==0('Odd')
end
I want the script to be able to count how many numbers are odd and how many are even, I don't need it to tell me if the numbers are odd or even I just want the number of how many are.

1 commentaire

Jan
Jan le 15 Nov 2013
Do not use ans explicitly, because this is a very volatile variable.

Connectez-vous pour commenter.

Réponses (2)

Walter Roberson
Walter Roberson le 14 Nov 2013

0 votes

Use two counters. Initialize them to 0. As you generate it number and test it for even or odd, add one to the appropriate counter.
nx = 100;
x = randi(100,nx,1); % Some example data
neven = sum(~rem(x,2));
nodd = nx - neven;

3 commentaires

This can be shortened by one operation ;-)
Okay then...
nodd = sum(rem(x,2));
neven = nx - nodd;
:-)
It would be interesting to compare the speed of nnz() to sum() for this case.

Connectez-vous pour commenter.

Catégories

Commenté :

Jan
le 15 Nov 2013

Community Treasure Hunt

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

Start Hunting!

Translated by