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 :

Utiliser le contenu d'une variable comme nom d'une nouvelle variable


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Utiliser le contenu d'une variable comme nom d'une nouvelle variable
    Bonjour,
    J'ai une cellule contenant des chaines de caractères telle que nom_cellule={'chaine1','chaine2',...,'chaineN'}. Je voudrais utiliser ces chaines de caractères comme noms de variables et leur affecter des valeurs numériques. Par exemple chaine1=ones(2). Quand je fais nom_cellule{1,1}=ones(2), ça remplace chaine1 par ones(2) et donc n'affecte pas ones(2) à chaine1.
    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut Utiliser le contenu d'une variable comme nom d'une nouvelle variable
    Bonjour,
    Je ne vois pas d'autre solutions pour conserver les noms :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    clear
    nom_cellule={'chaine1','chaine2'};
    chaine1=ones(2);
    cellplot(nom_cellule);
    eval(nom_cellule{1,1});
    disp(chaine1)

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 106
    Points : 110
    Points
    110
    Par défaut
    Bonjour,

    Essaie de cette manière, ça devrait faire ce que tu veux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    nom_cellule ={'chaine1','chaine2',...,'chaineN'}.
    NomVar      = genvarname(nom_cellule{1,1});
    eval([NomVar ' =ones(2);']);
    @++

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Merci pour ton aide c'est exactement ce que je voulais

  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 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 : 53 166
    Points
    53 166
    Par défaut
    Une alternative utilisant assignin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nom_cellule = {'chaine1','chaine2','chaine3'};
     
    for n = 1:numel(nom_cellule)    
       assignin('base', nom_cellule{n}, ones(2))
    end
    Mais : Comment créer dynamiquement 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)

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/08/2011, 09h25
  2. passer le nom d'une fonction comme paramètre d'une autre fonction?
    Par med_alpa dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/03/2010, 12h57
  3. prendre le retour d'une fonction comme nom d'une constante
    Par Syphys dans le forum Général Java
    Réponses: 7
    Dernier message: 26/11/2009, 13h10
  4. Réponses: 8
    Dernier message: 15/11/2007, 09h05
  5. [curseurs] utiliser une variable comme nom de champ
    Par Christian31 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/09/2005, 14h12

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