Hi Could anyone help suggest a faster way to construct this vector?
xval = [1 2 7 9];
numX = [1 4 2 3];
% I want final output to be [1 2 2 2 2 7 7 9 9 9];
fullX = [];
for runi=1:length( xval)
tval = xval( runi);
n = numX( runi);
if n > 0
fullX= [ fullX; repmat( tval, n, 1)];
end
end %

 Akzeptierte Antwort

Star Strider
Star Strider am 17 Sep. 2018

0 Stimmen

If you have R2015a or later, use the repelem (link) function:
fullX = repelem(xval, numX)

2 Kommentare

Pete sherer
Pete sherer am 17 Sep. 2018
Thank you verymuch
Star Strider
Star Strider am 17 Sep. 2018
As always, my pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-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