Created random sequence based on predefined vector

Given a vector
SP = [1 2 4 5 8 11 13 14 15 16 18 19 20];
I want to create random sequence based on the vector
Y = [4 24 35 8 9 20 42 40 12 13 49 22 32];
It means that in the random sequnce I want element one repeated 4 times, element 2 repeated 24 times, element 4 repeated 35 times, element 5 repeated 8 times, element 8 repeated 9 times and so on.
Hence, the length of the final sequence will be equal to the cumulative sum of Y
4 + 24 + 35 + 8 + 9 + 20 + 42 + 40 + 12 + 13 + 49 + 22 + 32 = 310

 採用された回答

madhan ravi
madhan ravi 2019 年 9 月 12 日
編集済み: madhan ravi 2019 年 9 月 12 日

2 投票

v = repelem(SP,Y);
W = v(randperm(numel(v))) % numel(W)

2 件のコメント

luca
luca 2019 年 9 月 12 日
May you kindly explain how it works?
madhan ravi
madhan ravi 2019 年 9 月 12 日
help repelem
help randperm

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeRandom Number Generation についてさらに検索

製品

リリース

R2019a

質問済み:

2019 年 9 月 12 日

コメント済み:

2019 年 9 月 12 日

Community Treasure Hunt

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

Start Hunting!

Translated by