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 件)

カテゴリ

製品

リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by