フィルターのクリア

repeating elements of a vector in a certain manner

1 回表示 (過去 30 日間)
Mnr
Mnr 2016 年 2 月 23 日
回答済み: Star Strider 2016 年 2 月 23 日
Hello all, I have a vector A of length n. I would like to create a new vector B which contains each element of A repeated m times; i.e. length of B is mxn. For example, let A=[2 4 5 7 8]; m=3; then, B=[2 2 2 4 4 4 5 5 5 7 7 7 8 8 8]; What is the fastest way of doing that? Thanks!

採用された回答

Star Strider
Star Strider 2016 年 2 月 23 日
Two options, both producing the same output:
A=[2 4 5 7 8];
B1 = repelem(A,3) % Introduced in R2015a
B2 = reshape(repmat(A, 3, 1), [], 1)'
B1 =
2 2 2 4 4 4 5 5 5 7 7 7 8 8 8
B2 =
2 2 2 4 4 4 5 5 5 7 7 7 8 8 8

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2016 年 2 月 23 日
B = reshape([A;A;A], 1, [])
  1 件のコメント
Mnr
Mnr 2016 年 2 月 23 日
Thanks! but what about for any m? In other words, how can I write reshape([A;A;A]) for m>3?

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

カテゴリ

Help Center および File ExchangeShifting and Sorting Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by