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 Comment

Do not use ans explicitly, because this is a very volatile variable.

Sign in to comment.

Answers (2)

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 Comments

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.

Sign in to comment.

Categories

Asked:

on 14 Nov 2013

Commented:

Jan
on 15 Nov 2013

Community Treasure Hunt

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

Start Hunting!