IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

0ptimisation de programme


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 3
    Par défaut 0ptimisation de programme
    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.
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Tu aurais un exemple de matrice d'entrée (une petite pour commencer devrait suffire)

    Sinon, utilise le Profiler de MATLAB, fait une capture d'écran des résultats et poste la ici...

    Pour le Profiler, tu crée une nouvelle fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function test
     
    profile on
    [...] = seqfrommat(...);
    profile viewer
    En générale, les codes récursifs sont assez difficiles à optimiser...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 3
    Par défaut exemple de matrice
    merci de ta réponse, pour le viewer je le posterai mercredi car je n'ai pas matlab chez moi.
    pour un exemple de matrice de 200 élements:

    [0 32 0 0 7;
    0 0 30 0 11;
    0 0 0 31 9;
    0 9 0 0 22;
    38 0 10 0 0]

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 3
    Par défaut
    voici le viewer
    Images attachées Images attachées  

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Clique sur le lien de la fonction next dans le tableau résultat du profiler et refait une capture d'écran

Discussions similaires

  1. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  2. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  3. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 08h05
  4. Comment débuter en programmation ?
    Par Marc Lussac dans le forum Débuter
    Réponses: 0
    Dernier message: 08/04/2002, 11h29
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo