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 comentario

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

Iniciar sesión para comentar.

Respuestas (2)

Walter Roberson
Walter Roberson el 14 de Nov. de 2013

0 votos

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.
Kelly Kearney
Kelly Kearney el 14 de Nov. de 2013
nx = 100;
x = randi(100,nx,1); % Some example data
neven = sum(~rem(x,2));
nodd = nx - neven;

3 comentarios

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

Iniciar sesión para comentar.

Categorías

Preguntada:

el 14 de Nov. de 2013

Comentada:

Jan
el 15 de Nov. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by