J'ai deux pour les boucles et je veux les combiner comme une boucle imbriquée:combiner deux boucles for imbriquées dans une boucle dans julia
mes boucles sont comme ça:
for i=1:m
for j=1:n
.....
end
end
J'ai essayé de les combiner:
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
de sorte que je suis arrivé à ce résultat:
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
mais je veux obtenir un résultat comme celui-ci:
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
Je ne sais pas comment puis-je changer mon code pour obtenir un résultat imbriqué. Il est possible de combiner deux boucles pour une boucle pour qu'elles tournent de la même façon que deux boucles sont en cours d'exécution?
mais pourquoi? convertir des indices linéaires en indices cartésiens est coûteux que l'inverse ('div' est plus lent que' * '&' + '). [ici] (https://julialang.org/blog/2016/02/iteration) est un excellent article pour apprendre à faire des itérations avec 'CartesianIndex' dans Julia. – Gnimuc