getting arrays from for loop

1 view (last 30 days)
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

Accepted Answer

Image Analyst
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
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, :)

Sign in to comment.

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!