getting arrays from for loop
6 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Image Analyst
2021-8-14
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 个评论
Image Analyst
2021-8-19
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, :)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!