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)

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!