Creating a unique vector with a pattern

8 次查看(过去 30 天)
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,

采纳的回答

Image Analyst
Image Analyst 2014-5-14
编辑:Image Analyst 2014-5-14
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by