Creating a unique vector with a pattern

7 ビュー (過去 30 日間)
Terrell
Terrell 2014 年 5 月 14 日
編集済み: Image Analyst 2014 年 5 月 14 日
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 Center および File ExchangeMatrices and Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by