How to repeat an array based on another array

3 Ansichten (letzte 30 Tage)
Mohammed  Alshehri
Mohammed Alshehri am 15 Jan. 2017
Beantwortet: Stephen23 am 15 Jan. 2017
Greetings
I am trying to repeat an array based on another array e.g
Repeat element of array A based on the elements of array B
A= [ 1 2 3 4 ]
B= [ 2 3 1 2]
the resulted array should be ( first element of A that is 1 repeated 2 times which is the first element of array B and so on )
C= [ 1 1 2 2 2 3 4 4 ]

Akzeptierte Antwort

the cyclist
the cyclist am 15 Jan. 2017
Use repelem.
C = repelem(A,B)

Weitere Antworten (1)

Stephen23
Stephen23 am 15 Jan. 2017
For MATLAB before R2015a:
>> A = [1,2,3,4];
>> B = [2,3,1,2];
>> cell2mat(arrayfun(@(a,b)repmat(a,1,b),A,B,'uni',0))
ans =
1 1 2 2 2 3 4 4

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by