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

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 日

0 投票

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];

2 件のコメント

Rik
Rik 2021 年 8 月 4 日
@Vignesh Murugavel You should probably try to avoid numbered variables.
jaah navi
jaah navi 2021 年 8 月 4 日
thanks

サインインしてコメントする。

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

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by