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 :

Ajout d'une colonne dans un fichier


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Ajout d'une colonne dans un fichier
    Bonjour
    Je viens de m'inscrire et j'ai choisi au hasard, en espérant trouver une personne qui pourra m'aider. Je ne connais pas beaucoup MATLAB, d'où ma démarche.
    Voilà mon problème, qui s'inscrit dans le domaine de la géologie : j'ai deux fichiers 1 et 2 que je veux comparer. Dans le fichier 1, j'ai 4 colonne (exemple si-dessous, avec 2 forages XX01 et YY02) :

    Nom forage |   DF (m)   |       DT  (m)    |        Roche           |
    XX01         |       0       |              15    |              V1 
    XX01         |       15     |               16   |               V6
    XX01         |      16      |              23.5  |             C5
    XX01         |       23.5   |               55   |              J2
    YY02         |       0       |              6      |             V3
    YY02         |       6       |              12.5  |             H2
    YY02         |       12.5   |              16.3  |             V1
    etc.
    DF et DT correspondent respectivement aux profondeurs en mètres du sommet et de la base d'un niveau géologique, dont le nom est décrit par un code dans la colonne 4 (pas important des les connaitre pour ce problème).


    Dans le fichier 2, j'ai également 4 colonnes (exemple ci-dessous, avec les memes forages XX01 et YY02)

    Nom forage |  DF (m)      |      DT (m)      |    valeur mesurées (%)  |
    XX01         |       6.2      |            7.5     |            0.01
    XX01         |       15.8     |            17.2   |             1.05
    YY02         |       5         |             5.6    |             0.00
    YY02         |       8.2      |            10      |            0.03
    YY02         |       13.35   |            15.4    |             5.23
    etc.
    Ici, DF et DT correspondent respectivement aux profondeurs en mètres du sommet et de la base d'un échantillon de roche prélevé dans les forages. La dernière colonne correspond aux valeurs mesurées en pourcentage de l'élément chimique considéré dans chaque échantillon de roche.

    Ainsi, en comparant les tableaux 1 et 2, j'ai par exemple 0.01% de l'élément chimique considéré dans le niveau V1 du forage XX01. Dans le niveau H2 du forage YY02, j'ai 0.03%.


    Ce que je souhaiterais, et je vous sais énormément gré d'avance pour votre aide très précieuse, c'est ajouter une 5e colonne au tableau 2 (celui des échantillons) qui contiendrait le code des roches correspondant à chaque échantillon.
    En plus clair, il faudrait trouver un moyen de dire à MATLAB de mettre un nom de roche (colonne 4 du tableau 1) à chaque intervalle d'échantillon (tableau 2) dans une colonne supplémentaire du tableau 2. Le grand défis réside principalement dans les intervalles de profondeurs dans les deux tableaux.

    Mon but ultime est de comparer les valeurs mesurées de l'élément chimique considéré en fonction du type de roche à travers des graphiques.

    Je vous remercie d'avance de prendre un peu de votre temps pour vous consacrer à mon problème, tout en espérant recevoir une réponse aussi vitre que possible.

    Amitiés

  2. #2
    Membre éclairé
    Avatar de Kangourou
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 859
    Points
    859
    Par défaut
    salut,

    Une question peut-être bête, mais arrives-tu à charger ces fichier correctement, et si oui, quelle est la forme des variables dont tu disposes ?

    Car par défaut Matlab n'est pas très doué avec les fichiers texte contenant des données tabulées...

    Tu peux regarder la doc des fonctions dlmread ou csvread. En plus bas niveau, tu as aussi la fonction textscan, mais ca oblige à gérer soi-même l'itération sur les lignes.


    A+

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut RE:
    Bonjour
    Merci pour votre message.
    Le probleme n'est pas dans la lecture des fichiers.
    Ce que je souhaite c'est d'ajouter une 5e colonne au fichier 2, dans lequel il y aurait pour chaque intervalle le nom de la roche correspondant, et ce à partir du fichier 1.
    Ce que je recherche, c'est un petit script MATLAB qui ferait ça à partir de mes deux fichiers 1 et 2.
    Merci

  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 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
    Pourquoi vouloir modifier le fichier 2 ?
    Pourquoi ne pas traiter directement les données sous MATLAB jusqu'au tracé ?
    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)

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Ben tout simplement parce que je ne sais pas le faire, je ne m'y connais pas en MATLAB, et je le regrette d'ailleurs, sinon je n'aurais pas posté ma requete ici.
    Merci

  6. #6
    Membre éclairé
    Avatar de Kangourou
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 859
    Points
    859
    Par défaut
    Pour préciser les choses, Matlab ne travaille pas sur les fichiers, mais sur des données en mémoire.

    La démarche consiste donc à :
    1. Charger le fichier de départ
    2. Ajouter une colonne aux données (normalement, c'est la partie facile)
    3. Sauvegarder le résultat dans un nouveau fichier


    Pour ajouter une colonne a un tableau , on peut utiliser l'opérateur de concaténation, ou les fonctions cat, vertcat... la question est de savoir quelle est le format du tableau une fois chargé en mémoire (d'où la question plus haut), et donc de savoir comment les données sont chargées en mémoire.

    A+

Discussions similaires

  1. Ajout d'une colonne dans un fichier csv
    Par sorilazer dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 12/11/2012, 18h08
  2. [Toutes versions] Ajouter une colonne dans un fichier dbf à partir d'ACCESS
    Par loufab dans le forum Contribuez
    Réponses: 2
    Dernier message: 13/05/2012, 13h07
  3. ajout d'une colonne dans une requete SQL
    Par fscli dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 22/05/2006, 14h59
  4. pb d'ajout d'une colonne dans un report
    Par khlh dans le forum Oracle
    Réponses: 3
    Dernier message: 06/10/2005, 17h12
  5. Ajout d'une colonne dans une table ...
    Par Djedjeridoo dans le forum SQL
    Réponses: 2
    Dernier message: 22/07/2003, 16h12

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