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

2 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

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

Più risposte (1)

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

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by