how to create an array from a given array with the following criteria.

1 Ansicht (letzte 30 Tage)
Say given array is [1 2 3]. I want to create an array with the elements [1 2 3 4 5 2 3 4 5 6 3 4 5 6 7],
In others terms I want to create an array [1:1+4 2:2+4 3:3+4]
I do not want to use for loops as that slows my code considerably.

Akzeptierte Antwort

madhan ravi
madhan ravi am 12 Jun. 2020
a = 1:3
Wanted = reshape(cumsum([a; ones(4,numel(a))]),1,[])

Weitere Antworten (1)

Ameer Hamza
Ameer Hamza am 12 Jun. 2020
An alternative solution using automatic array expansion
a = 1:3;
b = reshape(a + (0:4)', [], 1);

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by