MATLAB: How to Speedup conditional vector elements replacement

MATLABspeedupvector processingvectorizing if statement

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

Best Answer

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