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

3 views (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);

Tags

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!