我有兩個for循環,我想將它們合併爲一個嵌套的循環:結合兩個嵌套的for循環在一個for循環朱莉婭
我的循環是這樣的:
for i=1:m
for j=1:n
.....
end
end
我試着結合他們:
for ii = 1:n*m
ai = ii%n
yi = ii % m
if(ai == 0)
ai=6
end
if(yi == 0)
yi=5
end
println("ai=$ai , yi=$yi")
end
讓我得到了這樣的結果:
ai=1 , yi=1
ai=2 , yi=2
ai=3 , yi=3
ai=4 , yi=4
ai=5 , yi=5
ai=6 , yi=1
ai=1 , yi=2
ai=2 , yi=3
ai=3 , yi=4
ai=4 , yi=5
ai=5 , yi=1
ai=6 , yi=2
ai=1 , yi=3
ai=2 , yi=4
ai=3 , yi=5
ai=4 , yi=1
ai=5 , yi=2
ai=6 , yi=3
ai=1 , yi=4
ai=2 , yi=5
ai=3 , yi=1
ai=4 , yi=2
ai=5 , yi=3
ai=6 , yi=4
ai=1 , yi=5
ai=2 , yi=1
ai=3 , yi=2
ai=4 , yi=3
ai=5 , yi=4
ai=6 , yi=5
,但我希望得到一些結果是這樣的:
ai=1 , yi=1
ai=1 , yi=2
ai=1 , yi=3
ai=1 , yi=4
ai=1 , yi=5
ai=2 , yi=1
ai=2 , yi=2
ai=2 , yi=3
ai=2 , yi=4
ai=2 , yi=5
ai=3 , yi=1
ai=3 , yi=2
ai=3 , yi=3
ai=3 , yi=4
ai=3 , yi=5
ai=4 , yi=1
ai=4 , yi=2
ai=4 , yi=3
ai=4 , yi=4
ai=4 , yi=5
ai=5 , yi=1
ai=5 , yi=2
ai=5 , yi=3
ai=5 , yi=4
ai=5 , yi=5
ai=6 , yi=1
ai=6 , yi=2
ai=6 , yi=3
ai=6 , yi=4
ai=6 , yi=5
我不知道我怎樣才能改變我的代碼,以獲得一些嵌套的結果。可以將兩個for循環合併爲一個for循環,以便在兩個循環正在運行時運行它們?
但爲什麼呢?將線性索引轉換爲笛卡爾下標會比其他方式花費更多('div'比'*'&'+'慢)。 [這裏](https://julialang.org/blog/2016/02/iteration)是學習如何用Julia中的CartesianIndex進行迭代的好帖子。 – Gnimuc