How to Speedup conditional vector elements replacement?

1 view (last 30 days)
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

Accepted Answer

per isakson
per isakson on 6 Mar 2021
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
>>

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!