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

1 Ansicht (letzte 30 Tage)
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.

Akzeptierte Antwort

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

Weitere Antworten (2)

Vignesh Murugavel
Vignesh Murugavel am 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 am 4 Aug. 2021
Bearbeitet: Rik am 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

Kategorien

Mehr zu Numeric Types finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by