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

1 view (last 30 days)
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.

Accepted Answer

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

More Answers (1)

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

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!