getting arrays from for loop
6 views (last 30 days)
Show older comments
Kerem Yüksel
on 14 Aug 2021
Commented: Image Analyst
on 19 Aug 2021
according to the following code and output, i want to get the every 'm' array after the for loop one by one to apply to the rest of the code. when i write m(2) to get the 2nd array, it gives the last arrays' 2nd number as 3. how can i get the every array one by one
m=[1 2 3 4 5 6]
for k=1:5
m=circshift(m,1)
end
command window is as follows
m =
1 2 3 4 5 6
m =
6 1 2 3 4 5
m =
5 6 1 2 3 4
m =
4 5 6 1 2 3
m =
3 4 5 6 1 2
m =
2 3 4 5 6 1
>> m =
1 2 3 4 5 6
m =
6 1 2 3 4 5
m =
5 6 1 2 3 4
m =
4 5 6 1 2 3
m =
3 4 5 6 1 2
m =
2 3 4 5 6 1
0 Comments
Accepted Answer
Image Analyst
on 14 Aug 2021
Try this to get a 2-D array with each version of m on one row of the 2-D matrix:
m=[1 2 3 4 5 6]
[rows, columns] = size(m);
all_m = zeros(columns, columns);
for k=1:columns
all_m(k, :) = circshift(m,k)
end
all_m =
6 1 2 3 4 5
5 6 1 2 3 4
4 5 6 1 2 3
3 4 5 6 1 2
2 3 4 5 6 1
1 2 3 4 5 6
4 Comments
Image Analyst
on 19 Aug 2021
Once the loop ends, you have all the array values in the variable called all_m. If you want the results from just one particular run, like #2, then do
valuesFromRun2 = all_m(2, :)
More Answers (0)
See Also
Categories
Find more on Matrix Indexing 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!