Create multiple arrays with different names and specific data
Show older comments
I have written a code that works but I think my code can be simplified with a for loop. The problem is that I do not know how.
Data is an array that consists of 12 times an integer, for example [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24]
I want:
- 12 different arrays with different names
- the first array has to consist of the first and 13th value (with a step size of 12) [1 13]
- the second array has to consist of the second and 14th value (with a step size of 12) [2 14]
- the third array has to consist of the third and 14 value (with a step size of 12) [3 15]
- the fourth array has to consist of the fourth and 14 value (with a step size of 12)

2 Comments
darova
on 12 Mar 2020
Don't you want 2D matrix? Only 12 arrays?
" but I think my code can be simplified with a for loop."
Yes, it can be written very efficiently using a loop and indexing.
Or probably even more efficiently by keeping the data together and using reshape.
"The problem is that I do not know how."
Just use indexing into one array. Or reshape.
Do NOT try to dynamically access variable names, unless you want to force yourself into writing slow, complex, obfuscated, buggy code that is hard to debug:
Accepted Answer
More Answers (0)
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!