Duplicate elements in array n times, where n is an array itself

4 Ansichten (letzte 30 Tage)
Oliver
Oliver am 2 Sep. 2016
Kommentiert: Oliver am 2 Sep. 2016
Hi everyone,
I have two arrays of the same length and would like to duplicate each element in the first array n times, where n is the value in the second array. Example:
A = [1 2 3]
B = [2 3 1]
then C shall be = [1 1 2 2 2 3]
How can this be done? I checked the forum and tried to play around with repmat but could not get it to work.
Any help is greatly appreciated! Thanks!

Akzeptierte Antwort

Stephen23
Stephen23 am 2 Sep. 2016
If you have MATLAB 2015a or more recent, then use repelem:
>> repelem([1 2 3],[2 3 1])
ans =
1 1 2 2 2 3

Weitere Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 2 Sep. 2016
A = [1 2 3]
B = [2 3 1]
C=cell2mat(arrayfun(@(x,y) repmat(x,1,y),A,B,'un',0))

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