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 :

générer des variables à chaque boucle avec un nom contenant l'index de la boucle


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juillet 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 10
    Par défaut générer des variables à chaque boucle avec un nom contenant l'index de la boucle
    Bonjour tout le monde,

    j'ai un petit problème pour créer des variables (un tableau de résultats) à chaque boucle "for". En fait c'est au niveau de la boucle "for chr" la boucle la plus externe de mon code.
    Parce que si je choisi une valeur pour chr (i.e. chr=4) tout le reste du code est ok.
    et j'obtiens un tableau à i lignes et mn colonnes avec toutes mes valeurs.

    Mais je voudrais avoir un tableau fichier_résultat par numéro de chr au total 17. soit 17 fichiers només:
    fichier_resultat_1
    fichier_resultat_2
    fichier_resultat_3
    ....
    fichier_resultat_chr

    voici le code qui génère un tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    mn=1;
    chr=1;
     
     for i=1:nbr_iso;
                   for m =1:length(control_pb);
     
     
                           for n=1:length(data{i,7}{m,chr}); m,chr}); 
                             fichier_resultat_H(i,mn) = data{i,7}{m,chr}(n,1);
                             mn=mn+1;
                           end
                   end
      mn=1;
      end

    J'ai essayé de rajouter une boucle externe et de rajouter un index au nom de mon fichier comme fichier_resultat{chr}

    mais la sanction est immédiate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ??? Error: ()-indexing must appear last in an
    index expression.
    ou alors en rajoutant l'index{chr} à la fin du nom de mon fichier_resultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    for chr=1:17;
     
        for i=1:nbr_iso;
               for m =1:length(control_pb);     
     
                         for n=1:length(data{i,7}{m,chr}); 
                         fichier_resultat_H{chr}(i,mn) = data{i,7}{m,chr}(n,1);
                         mn=mn+1;
                         end
               end
               mn=1;
        end
    end
    donne l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ??? Cell contents assignment to a non-cell array
    object.
    alors j'ai essayé d'initialiser avant la boucle mon fichier_resultat avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fichier_resultat_H = cell(i,maximum_possible*2);
    mais j'obtiens 17 cellules avec nbr_iso lignes et mn colonnes. Est-il possible de créer pour chacune de ces cellules un tableau nomé fichier_resultat_ et le n°chr correspondant ?

    je vous remercie pour votre aide toutes idées ou suggestions sont les bienvenues.

    à bientôt
    Hervé

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769

  3. #3
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Je te conseillerai d'utiliser le dernier code que tu as montré et de tout simplement initialiser ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fichier_resultat_H ={};

  4. #4
    Membre habitué
    Inscrit en
    Juillet 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 10
    Par défaut merci
    Merci beaucoup Christophe et Caro-line
    pour vos suggestions ou solutions.

    je n'ai pas pu répondre avant car (je ne sais pas pourquoi) je n'arrive plus à répondre aux discussions si j'utilise Internet Explorer ??? cela fait plusieurs jours que j'essaye et rein à faire.

    J'ai envoyé un email au webmaster dans lequel je parlais de ce problème et je signalais également qu'un lien via le lien de Christophe était mort. mais sans réponse ? ou alors c'est directement parti avec les spams ??

    Si j'arrive à répondre aujourd'hui c'est parce que j'utilise firefox ...espérons que ça ne va pas durer...

    si non pour MATLAB, effectivement la proposition de Caro-line est plus élégante, merci
    @ bientôt

Discussions similaires

  1. Générer des codes d'activation avec SSIS ou SQL SERVER 2005
    Par magicsam dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 29/05/2009, 18h39
  2. Générer des jar sous Eclipse Avec Maven
    Par zerobug dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 10/04/2008, 22h11
  3. générer des variables gaussiennes
    Par deubelte dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 08/05/2007, 10h41
  4. [XSLT] [PHP] extraction des variable de xsl avec php
    Par anis_el_madani dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 14/04/2007, 23h20
  5. Générer des variables avec une boucle
    Par Anamelech dans le forum Delphi
    Réponses: 15
    Dernier message: 03/11/2006, 12h33

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