Bonjour,
J'ai une matrice carrée de données temporelles "dmat" où dmat(i,j) est le temps nécessaire pour aller de i à j.
J'ai une matrice de référencement "ref" de L lignes et C colonnes.
Chacune des lignes de "ref" représente un parcours. Le temps de parcours doit être calculé en boucle fermée, donc pour un parcours 1-2-3-4, il faut calculer [1-2][2-3][3-4][4-1].
J'aimerais obtenir aussi rapidement que possible les temps de parcours associés à chacun des L parcours dans une matrice Lx1.
En termes de boucle, le calcul se ferait ainsi :
J'ai réussi à convertir cela en calcul matriciel, mais le code est très complexe à comprendre. Il est toutefois plus rapide que cette boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 temps = zeros(L,1); for i=1:L for j=1:C temps(i) = temps(i) + dmat(ref(i,j),ref(i,mod(j,C)+1); end end
J'attends vos propositions.
Merci,
Éric
Partager