How do I refer to only the odd-numbered elements in any given vector?

130 views (last 30 days)
Given a vector I want to write a function that only refers to the odd-numbered elements in that given vector. How would I do this?
  1 Comment
Stephen23
Stephen23 on 3 Feb 2015
What is an "odd-numbered" element? An element for which the index is odd (keep in mind that MATLAB uses one-based indexing!), or where the element value itself is odd?

Sign in to comment.

Answers (2)

Star Strider
Star Strider on 3 Feb 2015
I’m not certain what you mean by ‘odd-numbered elements’, so here are two possibilities:
v = [10:20];
oddidx = @(v) v(1:2:end); % Addressing Odd-Indexed Elements
oddval = @(v) v(rem(v,2) == 1); % Addressing Odd-Valued Elements
y1 = oddidx(v)
y2 = oddval(v)
produces:
y1 =
10 12 14 16 18 20
y2 =
11 13 15 17 19

MD ZIHADUL ISLAM TUSAR
MD ZIHADUL ISLAM TUSAR on 3 Oct 2022
function y = everyOther(x)
n=length(x);
y=x(1:2:n);
end

Categories

Find more on Operators and Elementary Operations 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!