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 :

Gain de temps, variables locales


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Gain de temps, variables locales
    Bonjour à tous!

    J'ai besoin de vos conseils avisés.
    J'explique: j'aimerais savoir la manière la plus rapide de récupérer des variables locales calculées dans une fonction que j'ai besoin de réutiliser dans un main, mais je ne peux pas les définir en tant que sorties de ma fonction. Jusqu'à présent, je refaisais le calcul dans mon script principal, mais comme il est utilisé un grand nombre de fois, l'exécution prend beaucoup de temps. J'ai déjà essayer de sauvegarder les variables locales dans des matrices pour ensuite les récupérer, mais si je ne me trompe pas, cela prend un temps fou.

    Est-ce que définir les variables locales comme des variables globales me permettrait de gagner du temps de calcul?
    Ou alors il existe peut être une manière plus rapide de procéder?

    Merci de votre aide!

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Bonjour,

    Pour quelle(s) raison(s) ne peux tu pas les mettre en variable de sortie de ta fonction?
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour Gooby,

    Tout d'abord, merci de ta réactivité!

    Je ne peux pas les mettre en sortie car cette fonction doit retourner des contraintes. Je l'utilise ensuite dans un problème d'optimisation pas le biais de fmincon.

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    salut

    tu peux utiliser getappdata, setappdata, isappdata et rmappdata en passant 0 pour le handle

    Fabien

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Salut fabien,

    Je ne connais pas du tout ces fonctions. Je vais me pencher dessus cet après-midi. Tu pourrais me donner un exemple simple de leur utilisation?

    Merci beaucoup de ta réponse!

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    elle sont très simples à utiliser, tu le verra dans la doc
    sinon dans les tutos GUI

    en gros je te conseille dans ta fonction de contrainte d'écrire tes données (setappdata)
    puis dans ton script principal de vérifier leurs existance (isappdata), les utiliser le cas échéant (getappdata) et éventuellement les supprimer (rmappdata) si tu veux être sur de n'utiliser que les dernières valeurs calculées, et sans les utiliser plusieurs fois non plus

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Oui effectivement, elles sont très simples à utiliser.

    Par contre je m'interroge: y a-t-il un réel gain de temps sur le calcul? Pour le calcul de ces variable que je tente de récupérer, je fais appel à une autre fonction. le calcul n'est pas long, c'est simplement une inversion de matrice et une multiplication avec un vecteur.
    En ne faisant qu'une seule boucle de mon programme, refaire le calcul, utiliser des variables globales ou utiliser les fonctions appdata, je trouve le même temps d'exécution. je ne peux donc pas en gagner grâce à l'une ou l'autre des formulations?

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    c'est un truc que j'avais déjà utilisé en optimisation, mais ou la fonction était une simulation simulink, relativement longue
    le gain de temps était plus qu'appréciable
    si par contre ton calcul est très rapide, il n'y en effet peut être pas de gain significatif

    sinon les variables globales sont à proscrire par principe
    des appdata avec un handle à 0, ça revient à peu près au même mais en plus propre (et moins dangereux)

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Très bien, peut être que sur un plus grand nombre de boucle, les gains seront plus appréciables.
    Je vais garder cette formulation de toutes façons parce que je la trouve plus propre comme tu dis.

    Merci beaucoup de tes réponses, c'est exactement ce que je cherchais!

Discussions similaires

  1. text, ntext et image sont interdits dans les variables locales
    Par Sebounet19 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 04/07/2013, 15h44
  2. variables locales et temps d'execution
    Par AlfredKr dans le forum Langage
    Réponses: 11
    Dernier message: 19/06/2010, 11h57
  3. [MFC] Globaliser une variable locale
    Par Philippe320 dans le forum MFC
    Réponses: 3
    Dernier message: 01/12/2005, 20h12
  4. variables locales ou globales?
    Par molesqualeux dans le forum C
    Réponses: 20
    Dernier message: 09/11/2005, 23h03
  5. variables locales ou globales ???
    Par elvivo dans le forum C
    Réponses: 13
    Dernier message: 03/07/2002, 08h22

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