bonjour à tous,
dans le cadre d'un stage de master je dois développer un programme sous matlab v 2007a.
le but du programme est de sortir une séquence indiquant les transitions d'un états à un autre pour former un graphe d'EULER. le nombre de transitions possible d'un état à l'autre sont stockées dans une matrice carrée (dont le nombre de colonnes/lignes représentes les différents états possibles).
j'ai fait une première version qui fonctionnent plutôt bien pour des séquences allant jusqu'à 200 éléments (environs 2 min), pour plus cela devient très laborieux au niveau du temps de calcul.
j'aimerai savoir si quelqu'un pourrait me donner des astuces pour l'optimiser car je devrai travailler sur des séquences de 400-600élements (la première version de ce programme faite il y a 2 ans par un thésard prenait environs 2 jours pour cela, alors il y a de la marge!!!).
merci d'avance,
PS:
le fichier *.zip contient 3 files qui sont les 3 fonctions utilisées, la première seqfrommat est le programme de départ. il doit a partir d'une matrice carrée qui contient le nombre de transition de l'état n à n+1 donner une séquence d'Euler qui contient toutes les transitions.
le passage d'un état à l'autre est calculer avec la fonction next et dans le cas où il arrive sur un cul de sac il utilise backtrace pour repartir a partir d'une position aléatoirement choisie en arrière.
Partager