How to set up Vectorization properly?

1 view (last 30 days)
I am trying to set up a list like as the example shown below. Basically it starts with 1 to 4, then jumps by 13, then proceeds another 4 then jumps by 13 again.
I understand I can do 1:13:end to get a simple 1,14,27 etc list by how would I go about doing this alternative list in vectorised format?
Thanks.
X = [1,2,3,4,17,18,19,20,33,34,35,36...]

Accepted Answer

Stephen23
Stephen23 on 11 Sep 2019
Edited: Stephen23 on 11 Sep 2019
>> reshape(bsxfun(@plus,(1:4).',0:16:16*3),1,[])
ans =
1 2 3 4 17 18 19 20 33 34 35 36 49 50 51 52
MATLAB versions since R2016b:
>> reshape((1:4).'+(0:16:16*3),1,[])
ans =
1 2 3 4 17 18 19 20 33 34 35 36 49 50 51 52

More Answers (0)

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!