How can I create a vector like this : X = [1, 2, 1, 2 ......

Hi,
How can I create a vector X = [ 1, 2, 1, 2 ....... ] with n value.(which n value can be odd or even).
Is there possible to use only two instructions?
thanks.

2 Comments

Is there possible to use only two instructions?
No. You need a minimum of 3 instructions even for the case where n is even. You can construct 1:2 or [1 2] but either way that takes one instruction. You need to divide n by 2, which takes one instruction. Replicating the vector takes a minimum of 1 instruction.
You can do the whole thing in four instructions if it is acceptable to have two assignment statements. I think it might take 6 instructions if you are only permitted to use a single assignment statement.
Thanks for replying.
If I want it to use only one assignment statement, how can I deal with it especially when n is odd?

Sign in to comment.

 Accepted Answer

n = 9;
v = 2-mod(1:n,2)
v = 1×9
1 2 1 2 1 2 1 2 1

3 Comments

@Walter Roberson: yes, I also noticed that.
I suspect that "instructions" is as equally well-defined by the same professors/tutors/teachers who also specify no "inbuilt" functions. In some sense, even the hard-coded numbers are "instructions" to the MATLAB parser.
Perhaps the person who set this assignment can clarify this for us.

Sign in to comment.

More Answers (1)

Categories

Find more on App Building in Help Center and File Exchange

Products

Release

R2020b

Tags

Community Treasure Hunt

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

Start Hunting!