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 :

Concaténer des cellules de strings avec une matrice de valeurs


Sujet :

MATLAB

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 62
    Points : 61
    Points
    61
    Par défaut Concaténer des cellules de strings avec une matrice de valeurs
    Bonjour,
    J'ai une matrice de valeurs numériques <36204x22 double> et une matrice de cellules <1x22 cell> qui correspond contient l'information sur les données (cellules de strings) de la matrice.
    Je voudrais concaténer les deux afin d'obtenir en sortie une matrice avec une première ligne contenant le nom de mes colonnes et les données en dessous.

    Je pourrai convertir ma matrice de données en une matrice de cellules cependant je souhaiterai par la suite écrire mes données dans un fichier csv ce qui nécessite d'avoir une matrice.


    Merci de votre réponse.

    Mehdi

  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 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 : 52 882
    Points
    52 882
    Par défaut
    Tu aurais dû commencer par la fin de ton message

    Il n'y a aucun intérêt à concaténer les données ici.

    Par exemple :

    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
    16
    17
    18
    header = {'A' 'B' 'C'};
    data = [1 2 3 ; 1 2 3  ; 1 2 3 ; 1 2 3];
     
    fid = fopen('test2.csv', 'wt');
     
        for n = 1:numel(header)-1
            fprintf(fid, '%s,', header{n});    
        end
        fprintf(fid, '%s\n', header{end}); 
     
        for m = 1:size(data,1)
            for n = 1:size(data,2)-1
                fprintf(fid, '%.02f,', data(m,n));
            end
            fprintf(fid, '%.02f\n', data(m,end));
        end
     
    fclose(fid);
    Ce qui s'écrit également :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    header = {'A' 'B' 'C'};
    data = [1 2 3 ; 1 2 3  ; 1 2 3 ; 1 2 3];
     
    fmtHeader = [repmat('%s,', 1, numel(header)-1) '%s\n'];
    fmtData = [repmat('%.02f,', 1, size(data,2)-1) '%.02f\n'];
     
    fid = fopen('test.csv', 'wt');
     
        fprintf(fid, fmtHeader, header{:});
        fprintf(fid, fmtData, data.');
     
    fclose(fid);
    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)

  3. #3
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Bonjour,

    A mon humble avis, qui est peut être erroné , tu ne pourras pas créer une matrice comprenant des strings dans la première ligne et des doubles dans les lignes suivantes. Si tu désires vraiment une matrice de la sorte, il faudra donc que tes nombres soit également des strings.

    Dans ce cas, il faudra que chaque ligne possède le même nombre de caractères, je suppose qu'il faudrait compléter par des espaces entre tes nombres et éventuellement un séparateur de colonne. Ça me semble un rien compliquer en réalité.

    EDIT: une minute avant de la part de Dut et j'avais pas besoin de me ridiculiser en donnant une réponse inutile
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 62
    Points : 61
    Points
    61
    Par défaut
    Merci Dut et merci Goby je me doutais bien que c'était impossible et qu'il fallait que je réécrive mon fichier csv autrement.


    Bonne journée à vous

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

Discussions similaires

  1. [VxiR2] Concaténé des lignes de tableau en une ligne avec ,
    Par DevFranck dans le forum Webi
    Réponses: 1
    Dernier message: 05/04/2011, 15h53
  2. Concaténer un string avec une variable
    Par nekro65 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/03/2009, 11h32
  3. Remplir un GridView avec une matrice de String
    Par KoRiGaN44 dans le forum ASP.NET
    Réponses: 18
    Dernier message: 08/01/2009, 18h15
  4. VBA EXCEL : Concaténation des cellules d'une colonne
    Par kikaillo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/07/2007, 17h37
  5. Réponses: 2
    Dernier message: 29/03/2004, 13h44

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