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énation de cellules


Sujet :

MATLAB

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 76
    Points : 58
    Points
    58
    Par défaut Concaténation de cellules
    Bonjour,

    Comment faire pour concaténer deux cellules entre elles? Je m'explique j'ai un tableau de cellule <251x1> et chaque cellule contient deux sous-cellules(<1x2>). Je voudrais donc concaténer horizontalement ces deux sous-cellules pour chacune des cellules. Pour l'instant si je fais une boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i=1:length(A)
       A{k}=[A{k}{1,1} A{k}{1,2}];
    end
    J'ai ce genre de messages :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CAT arguments dimensions are not consistent

    Et la fonction strcat me donne quelquechose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CCCCCCCCCCCC::::::::::::////////////  etc..
    Bref il concatène bien les deux strings mais me donne chaque caractère en 12 exemplaires...


  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 76
    Points : 58
    Points
    58
    Par défaut
    Si ca peut aider je l'ai en 12 exemplaires parce que mon deuxieme string a 12 caractères. En fait j'ai la première chaine de caractère complète à chaque fois mais juste un caractère de la deuxième chaine..
    Pour simplifier j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    papa.m
    papa.a
    papa.m
    papa.a
    papa.n
    si mes deux chaines sont 'papa.' et 'maman'

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Et si tu mettais le même indice
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for k=1:length(A)
        A{k}=[A{k}{1,1} A{k}{1,2}];
    end

  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
    Si je comprends bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    A{1}{1,1} = 'un';
    A{1}{1,2} = 'deux';
     
    A{2}{1,1} = 'trois';
    A{2}{1,2} = 'quatre';
     
    B = cellfun(@(x) [x{1} x{2}],A,'uniformoutput',false)
    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
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Pour donner une variante à la méthode de Dut,

    Tu peux transformer tes cellules en chaine de caractères.

    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
     
    A{1}{1,1} = 'un';
    A{1}{1,2} = 'deux';
     
    A{2}{1,1} = 'trois';
    A{2}{1,2} = 'quatre';
     
     
    for i=1:2
     
        V{i}=[cell2mat(A{i}(1,1)) cell2mat(A{i}(1,2))];
     
    end
    V
    % res :
    V = 
        'undeux'    'troisquatre'

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

Discussions similaires

  1. Problème concaténation (centrage cellule)
    Par leyeno dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/05/2009, 16h24
  2. Concaténation avec cellules de différents types
    Par devdev dans le forum Excel
    Réponses: 4
    Dernier message: 19/03/2009, 16h38
  3. concaténation de cellules
    Par babybell dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 21/09/2008, 15h10
  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. concaténer 2 cellules (date et texte)
    Par melodyyy dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/11/2006, 13h33

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