How to Speedup conditional vector elements replacement?

Dear,
a is a vector its values correspond to the number of times to repeat the
corresponding number drawn from the vector b. following this rule the result
is a vector c.
as an example:
a=[1 4 1 4 4 1];
b=[1 6 8 3 9 2];
c=[1 6 6 6 6 8 3 3 3 3 9 9 9 9 2]
Is there any vectorization solution for this proplem?
Regards

 採用された回答

per isakson
per isakson 2021 年 3 月 6 日

0 投票

There is a Matlab function, repelem, that does it.
>> repelem( b, a )
ans =
Columns 1 through 13
1 6 6 6 6 8 3 3 3 3 9 9 9
Columns 14 through 15
9 2
>>

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLive Scripts and Functions についてさらに検索

製品

リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by