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 :

Variable dynamique et Structure [Débutant]


Sujet :

MATLAB

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2017
    Messages : 33
    Par défaut Variable dynamique et Structure
    Bonjour bonjour !

    Je suis confronté à un vrai problème, je veux obtenir plusieurs variable en évitant de répéter à chaque fois mes lignes de commandes, je vous explique ; ces lignes je voudrais les limiter à 3 lignes seulement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    X5=Marker.Marker05.value(:,1);
    Y5=Marker.Marker05.value(:,2);
    Z5=Marker.Marker05.value(:,3);
    X7=Marker.Marker07.value(:,1);
    Y7=Marker.Marker07.value(:,2);
    Z7=Marker.Marker07.value(:,3);
    X9=Marker.Marker09.value(:,1);
    Y9=Marker.Marker09.value(:,2);
    Z9=Marker.Marker09.value(:,3);
    un truc comme ça par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for i=5:2:9 
        X(i)=Marker.Marker0(i).value(:,1);
        Y(i)=Marker.Marker0(i).value(:,2);
        Z(i)=Marker.Marker0(i).value(:,3);
    end
    je sais très bien que c'est faux mais c'est juste pour illustrer ce que j'essaye de faire ^^ il est nécessaire de le faire puisque après je dois travailler avec 25 Marker's, après et en informatique répéter du code équivaut à aller à l’échafaud ! :p

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    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 317
    Par défaut
    Une idée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for i = 5:2:9 
        X(:,(i-3)/2) = Marker.(['Marker' num2str(i, '%02d')]).value(:,1);
        Y(:,(i-3)/2) = Marker.(['Marker' num2str(i, '%02d')]).value(:,2);
        Z(:,(i-3)/2) = Marker.(['Marker' num2str(i, '%02d')]).value(:,3);
    end

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2017
    Messages : 33
    Par défaut
    Merci beaucoup pour ton aide!

    j'ai réussi à faire quelque chose avec , et je pense qu'il vaut mieux enregistré les X, Y, Z dans des matrices et non crée une variable pour chaque j'ai vu qu'il était fortement déconseiller de faire ça ^^

  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 317
    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 317
    Par défaut
    Citation Envoyé par Lamnor Voir le message
    j'ai vu qu'il était fortement déconseiller de faire ça ^^
    Exactement : Comment créer dynamiquement des variables nommées A1, A2, A3… AN ?

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2017
    Messages : 33
    Par défaut
    Merci pour ce tuto, il va beaucoup m'aider

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2017
    Messages : 33
    Par défaut
    Citation Envoyé par Jerome Briot Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    X(:,(i-3)/2) = Marker.(['Marker' num2str(i, '%02d')]).value(:,1);
    Excusez moi, juste question à quoi correspond réellement le '%02d' ? j'ai compris que c'était juste pour convertir ( 1 2 3 ) en (01 02 03), mais si on fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    X(:,(i-3)/2) = Marker.(['Marker0' num2str(i)]).value(:,1);
    , normalement ça devrait marcher ou bien y a une autre signification à cette commande ? ^^

    Merci bien.

  7. #7
    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
    oui ca marche aussi, mais l'avantage de stocker les nombre sur 2 chiffres c'est que s'il y a plus de 10 champs (et moins de 99) alors l'ordre alphabétique reste le même sur l'ordre numérique
    marker05 < marker12
    alors que marker5 > marker12

    c'est aussi plus lisible (tjrs si + de 10 champs mais moins de 100 champs)

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2017
    Messages : 33
    Par défaut
    D'accord c'est plus clair maintenant, merci bien Le fab

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

Discussions similaires

  1. Variables dynamiques
    Par CriPpLe dans le forum C++
    Réponses: 5
    Dernier message: 23/02/2005, 11h56
  2. [SQL SERVER 2000] Noms de variables dynamiques
    Par cassoulet dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 08/09/2004, 11h44
  3. Récupération de variables dynamiques complexes
    Par ludoboy dans le forum ASP
    Réponses: 7
    Dernier message: 24/05/2004, 17h51
  4. [LG]Problême Variable dynamique de types différents
    Par pierrOPSG dans le forum Langage
    Réponses: 2
    Dernier message: 29/04/2004, 16h01
  5. Allocation dynamique de structures
    Par fr_knoxville dans le forum C
    Réponses: 8
    Dernier message: 06/05/2003, 21h59

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