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

조회 수: 1 (최근 30일)
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.

채택된 답변

Bruno Luong
Bruno Luong 2021년 8월 4일
편집: Bruno Luong 2021년 8월 4일
hi=repelem((1:5)',100*(1:5));
r=ceil(rand(size(hi)).*hi)

추가 답변 (2개)

Vignesh Murugavel
Vignesh Murugavel 2021년 8월 4일
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 2021년 8월 4일
편집: Rik 2021년 8월 4일
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

카테고리

Help CenterFile Exchange에서 Numeric Types에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by