Create multiple arrays with different names and specific data
조회 수: 9 (최근 30일)
이전 댓글 표시
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
Stephen23
2020년 3월 12일
편집: Stephen23
2020년 3월 12일
" 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:
채택된 답변
Turlough Hughes
2020년 3월 12일
It is possible to do exactly what you asked but that is considered a bad coding practice (explanation here).
Why don't you store the values in a single variable as follows:
D = reshape(Data,Aantalsensoren,[]);
and use the indices in an equivalent manner. So instead of D1, you can write:
>> D(1,:)
ans =
1 13
insead of D2, you can write:
>> D(2,:)
ans =
2 14
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!