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 :

appeler une variable à partir d'une chaine de caractères [Débutant]


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut appeler une variable à partir d'une chaine de caractères
    Bonjour,

    je veux tester l'existence d'une variable renseigner dans l'en-tête d'un fichier .m par l'utilisateur selon 2 paramètres, puis lire celle-ci si elle existe.

    Si je demande à l'utilisateur de rentrer la variable sous la forme var_k_i = ; (par ex var_1_2 = 3) je peux tester son existence avec exist(['var_',numstr(k),'_',numstr(i)],'var') dans les boucles appropriées, mais je ne sais pas comment l'appeler dans cette même boucle.

    Inversement si je demande à l'utilisateur de rentrer la variable sous la forme var(k,i) = ; (par ex var(1,2) = 3), je peux lire la variable dans les boucle mais je ne sais pas comment tester son existence.

    Toute aide serait la bienvenue

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Bonsoir,

    as-tu regardé du côté d'eval ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    exist(['var_',num2str(k),'_',num2str(i)],'var')
    ans =
         1
    eval(['var_',num2str(k),'_',num2str(i)],'var')
    var_1_2 =
         3
    Avec quelques conditions supplémentaires, tu devrais t'en sortir ;-)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Exactement ce dont j'avais besoin,

    merci.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Encore et toujours, ce n'est pas une bonne méthode de programmation => : Comment créer des variables nommées A1, A2, A3, ..., AN ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

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

Discussions similaires

  1. [Batch] Créer une chaine à partir d'une variable et d'une autre chaine
    Par mlle lain dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 10/11/2009, 16h26
  2. Réponses: 7
    Dernier message: 01/02/2008, 16h12
  3. Réponses: 2
    Dernier message: 13/09/2007, 11h34
  4. Réponses: 2
    Dernier message: 20/07/2007, 16h17
  5. Réponses: 7
    Dernier message: 15/11/2005, 10h14

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