How to make a column vector of 2 distinct numbers

2 views (last 30 days)
How can I make a 400x1 column vector in the following format..
first 100 rows = all 1's
101st to 400th row = all 2's
I am a matlab newbie so any help to get me started will be greatly appreciated.
Thanks

Accepted Answer

Konstantinos Sofos
Konstantinos Sofos on 19 Mar 2015
Edited: Konstantinos Sofos on 19 Mar 2015
Many possible solutions
V = [ones(100,1);2*ones(300,1)];
or
V = [repmat(1,100,1);repmat(2,300,1)];
or
V = ones(400,1); V(101:end)=2;
or
V(1:100,1)=1;V(101:400,1)=2;

More Answers (3)

the cyclist
the cyclist on 19 Mar 2015
One way:
x = ones(400,1);
x(101:400) = 2;
  1 Comment
Dubstep Dublin
Dubstep Dublin on 19 Mar 2015
Thank you for your reply. Is there any way of implementing it without the use of 'ones' function such that I can make such an array of different numbers (suppose say 172 instead of 1 and 272 instead of 2)

Sign in to comment.


the cyclist
the cyclist on 19 Mar 2015
One way:
x = [repmat(1,[100 1]); repmat(2,[300 1])];

James Tursa
James Tursa on 19 Mar 2015
[ones(100,1);2*ones(300,1)]

Categories

Find more on Multidimensional Arrays 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!