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 :

Optimisation de tableaux de cellules


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 74
    Par défaut Optimisation de tableaux de cellules
    Bonjour,

    Je cherche à optimiser un code qui met 7 minutes à cause d'un nombre considérable de matrices (7700 sur un 1er exemple) qui ont toutes des tailles différentes.
    Je l'ai pas mal vectorisé mais le vrai souci semble suivant:
    Jusque là, je me servais d'un tableau de cellules:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CellMarq=cell(1,nbmarq); 
    ...
    for i=2:nbmarq
        ...
        CellMarq(i)={Marqi};
        for j=1:i-1 
            ...
            Marqj=cell2mat(CellMarq(j));
    J'ai fait tourner le profiler mais sans appel cette dernière ligne est responsable de 80% du temps de calcul !
    Du coup, je me demande si me servir plutôt d'une structure me ferait gagner du temps.
    J'ai lu qu'il vaudrait mieux préférer une structure de tableaux à un tableau de structures pour la vitesse, mais je n'ai trouvé que de simples exemples, comment la définir pour un nombre nbmarq variable, s'il vous plait?

    Merci d'avance

  2. #2
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 885
    Par défaut
    salut

    tu n'as pas besoin d'appeler la fonction cell2mat
    un simple Marqj=CellMarq{j}; marchera tout aussi bien et bien plus rapidement

    Fabien

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 74
    Par défaut
    Je suis descendu à 100 secondes, merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 31
    Dernier message: 06/04/2011, 17h44
  2. Réponses: 7
    Dernier message: 20/02/2008, 13h46
  3. [Tableaux] Taille cellule de tableau
    Par johnkro dans le forum Langage
    Réponses: 4
    Dernier message: 27/07/2006, 08h48
  4. [XSD]Créer structure de tableaux
    Par blastobi dans le forum Valider
    Réponses: 4
    Dernier message: 07/04/2006, 11h29
  5. Structures et tableaux, la galère
    Par kameha dans le forum C
    Réponses: 10
    Dernier message: 05/01/2006, 17h31

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