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 :

Lecture d'un fichier de configuration dans une boucle


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 296
    Par défaut Lecture d'un fichier de configuration dans une boucle
    Bonjour,
    Je dois lire un fichier texte structuré comme un fichier ini :
    Avec un entête dans le début de la section
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [Curve]
    number_points=376
    Spacing=4.50
    puis après la liste de mes points avec leurs paramètres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    pos=(972.6858,435.4503,-598.5822)
    perp=(0.9491,-0.0010,-0.3151)
    normal=(-0.0120,0.9992,-0.0392)
    vect=(1.4965,0.1841,4.2200)
    width=(4.145,4.148,8.291,8.296)
    dwidth=(8.291,8.296,0.000,0.000)
    chaque point possède l'ensemble de ces paramètres et je voudrais pouvoir charger l'ensemble de ces points avec les paramètres associés dans un tableau.
    Pour lire les .ini j'utilise la classe IniConfig.

    Merci

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

    Quel est ton problème précisément ? Par quoi es-tu bloqué ?
    Tu as essayé de coder quelque chose ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 296
    Par défaut
    En fait je ne sais pas par où commencer .
    En effet je sais récupérer le nombre de points
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            ini = Fct_Ini();
            ini.ReadFile(Point.cfg);
            NbLap = ini.GetValues('[LapNumber]', 'number_points');
    mais après je ne sais pas comment faire ma boucle pour récupérer chaque paramètres de mes points.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        for k=1:NbLap
          ....
        end
    La solution est peut-être de passer par la lecture du fichier ligne par ligne car les points sont les uns derrière les autres.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ini = IniConfig();
    ini.ReadFile('tonFichier.ini');
    keys = ini.GetKeys('Curve');
    number_points = ini.GetValues('[Curve]', 'number_points');
    to_num = @(str) str2num(str(2:end-1));
    values = cellfun(@(key) to_num(ini.GetValues('[Curve]', key)), keys(3:end), 'UniformOutput', false)
    [keys(3:end) values]

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 296
    Par défaut
    Houla Houla tu m'as perdu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    values = cellfun(@(key) to_num(ini.GetValues('[Curve]', key)), keys(3:end), 'UniformOutput', false)
    Comment tu géres le fait que certains paramètres aient 4 variables et d'autres 3.
    Je regarde ça demain matin.
    Merci pour la piste.

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 296
    Par défaut
    Super ça marche j'ai juste enlevé le to_num car certains paramètres ont des commentaires .
    Maintenant je m'attaque à la décomposition des tableaux de char.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    '(972.6858,435.4503,-598.5822)'
    '(0.9491,-0.0010,-0.3151)'
    '(-0.0120,0.9992,-0.0392)'
    '(1.4965,0.1841,4.2200)'
    '(4.145,4.148,8.291,8.296) // left, right, left, right'
    '(8.291,8.296,0.000,0.000) // left, right, left, right'
    Merci

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

Discussions similaires

  1. Nom de fichier image incrémenté dans une boucle for
    Par franck31 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 12/10/2011, 16h49
  2. Utiliser le fichier de configuration dans une librairie jar
    Par Palsajicoco dans le forum Hibernate
    Réponses: 0
    Dernier message: 16/05/2011, 13h32
  3. Réponses: 5
    Dernier message: 25/03/2008, 10h58
  4. Analyse d'un fichier de redirection dans une boucle
    Par Safaritn dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/02/2008, 14h14
  5. Réponses: 4
    Dernier message: 26/01/2006, 12h12

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