MATLAB: Creating a unique vector with a pattern

vector creation

I need to create a vector of the form
[1,4,2,4,……2,4,2,4,1]
this would be easy to create for a small vector but it will be around 2000 elements long. I tried to do this using a loop and an even or odd if statement with separate statements for the first and last elements but couldn't get it to work. Any ideas are appreciated,

Best Answer

What's the pattern? I can't quite figure it out. I know every other one is 4, but what about the 1 and the 2? It's not just alternating because there are 2 2's in a row near the end. Is it 4,2 except the very first and very last are 1? Or are there 1's in the middle somewhere?
Anyway, you know the rule (whatever it is), so just use repmat
y = repmat(.......
Then use
y(2:2:end) = 4;
Or maybe try this:
y = ones(1,2000);
y(2:2:end-1) = 2;
y(3:2:end-1) = 4