Create a row vectors that includes even/odds between 0 and X
Show older comments
How can I created a row vector that includes every even/odd number BETWEEN two variables but does not include them. ie x=10 y=20 vector=[12 14 16 18]
1 Comment
BAKALE MURPHY
on 14 Mar 2017
i'll try that, thanks
Accepted Answer
More Answers (2)
Image Analyst
on 15 Feb 2013
out = (x+1) : 2 : (y-1)
or
out = (x+2) : 2 : (y-1)
John BG
on 12 Oct 2015
0 votes
Also possible: find(mod(X,2)==0) and find(mod(X,2)~=0)
2 Comments
Image Analyst
on 12 Oct 2015
Not as-is -- you'd need to add code:
X = 10:20
oddNumbers = find(mod(X,2)==0)
gives
X =
10 11 12 13 14 15 16 17 18 19 20
oddNumbers =
1 3 5 7 9 11
which is not [11,13,15,17,19], but if you added all but the last element to the first element of the original X, it would work.
John BG
on 13 Feb 2016
Should have added the X(),
find(mod(X,2)~=0)
does give the positions of the odd elements of X
ans = 11.00 13.00 15.00 17.00 19.00
and
find(mod(X,2)==0)
gives the even elements of X
ans = 10.00 12.00 14.00 16.00 18.00 20.00
Alternatively
nonzeros(mod(X,2).*X)'
also gives the odd elements of X
Categories
Find more on Multirate Signal Processing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!