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 :

Nom de variable indicé, boucle for [Débutant]


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Nom de variable indicé, boucle for
    Bonjour,

    mon problème est le suivant: j'aimerais pouvoir creer des variables dont le nom est indicé par rapport aux itérations d'une boucle for.
    Je l'ai déjà fait pour des cas simples en utilisant la fonction eval mais dans ce cas présent je ne vois pas comment faire.

    J'aimerais remplacer le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    maxtab1=evalin('base','maxtab1');
    maxtab2=evalin('base','maxtab2');
    maxtab3=evalin('base','maxtab3');

    Par quelquechose qui ressemblerait à cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i=1:3
    eval(['maxtab' num2str(i) '=' evalin('base',['maxtab' num2str(i)])]);
    end
    Quelqu'un pourrait-il m'aider avec mon problème? Sachant que je voudrais vraiment arriver à définir les variables indicées selon i et ne pas avoir recours à définir une matrice...

    Merci de votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 319
    Points : 843
    Points
    843
    Par défaut
    Bonjour,

    Regarde du côté de la FAQ pour commencer :
    http://matlab.developpez.com/faq/?pa...ion_var_A1A2AN
    "Donnez un poisson à un Homme, et il mangera un jour. Apprenez-lui à pêcher, et il mangera tous les jours."

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Tu as deus solutions pour ce que veux faire:
    - Soit tu écris tout d'un coup:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eval(['maxtab' num2str(i) '= evalin(''base'',[''maxtab'' num2str(i) ])']);
    - Soit en deux parties:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    valeur = evalin('base',['maxtab' num2str(i) ]);
    eval(['maxtab' num2str(i) '=valeur']);
    Je te conseille tout de même de regarder le lien de Vampirella, car ce n'est vraiment une bonne méthode.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci, mais j'avais déjà pris soin de regarder cet topic. Je ne vois pas en quoi il m'est utile dans mon cas.
    Je cherche à creer un nom de variable dynamique qui change en fonction des itérations de la boulce for. D'autre part, je ne veux pas à avoir à recours à l'utilisation des matrices mais avoir à disposition nom_variable_1, nom_variable_2....

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup cela fonctionne!
    Bonne journée

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 319
    Points : 843
    Points
    843
    Par défaut
    Que veux-tu faire exactement de tes variables ?

    Si c'est pour un stockage ordonné, les matrices ou les cellules sont là pour ca ... et l'indexage sera beaucoup moins casse-tête que de chercher à avoir des variables "dynamiques".

    Mais si tu cherches tout prix à avoir ces variables "dynamiques", alors winjerome t'as montré la voie.
    "Donnez un poisson à un Homme, et il mangera un jour. Apprenez-lui à pêcher, et il mangera tous les jours."

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

Discussions similaires

  1. nom variable avec boucle for
    Par alexismarque dans le forum MATLAB
    Réponses: 1
    Dernier message: 14/07/2009, 12h26
  2. affecter variable dans boucle FOR batch
    Par efferalgan dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 25/10/2007, 14h25
  3. [SHELL] Variable dans boucle for
    Par magicwill dans le forum Linux
    Réponses: 6
    Dernier message: 11/08/2007, 11h31
  4. [FLASH 8] Problème nom variable et boucle for
    Par jbidou88 dans le forum Flash
    Réponses: 10
    Dernier message: 23/03/2007, 11h36
  5. Affectation à la variable de boucle FOR 'i'
    Par nek_kro_kvlt dans le forum Delphi
    Réponses: 3
    Dernier message: 11/10/2006, 17h03

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