Could anyone help me how to generate the matrix in the following manner as described below

2 views (last 30 days)
I want to generate a matrix of size
(1500x1)
in which first 100 rows should be having the value of 1, next 200 rows should be having the value of 1 and 2 arranged randomly, next 300 should be having the value of 1,2 and 3 arranged randomly, next 400 rows should be having the value of 1,2,3 and 4 arranged randomly and next 500 rows should be having the value of 1,2,3, 4 and 5 arranged randomly.
Could anyone please help me on this.

Accepted Answer

Bruno Luong
Bruno Luong on 4 Aug 2021
Edited: Bruno Luong on 4 Aug 2021
hi=repelem((1:5)',100*(1:5));
r=ceil(rand(size(hi)).*hi)

More Answers (2)

Vignesh Murugavel
Vignesh Murugavel on 4 Aug 2021
This should do it.
m1 = ones([100,1]);
m2 = randi([1 2],200,1);
m3 = randi([1 3],300,1);
m4 = randi([1 4],400,1);
m5 = randi([1 5],500,1);
Ans = [m1 ; m2;m3;m4;m5];

Rik
Rik on 4 Aug 2021
Edited: Rik on 4 Aug 2021
data=cell(5,1);
for n=1:numel(data)
data{n}=randi([1 n],n*100,1);
end
data=cell2mat(data);
size(data)
ans = 1×2
1500 1

Categories

Find more on Numeric Types in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!