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 :

concatenation de chiffres


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 6
    Points
    6
    Par défaut concatenation de chiffres
    Bonjour à tous,

    J'ai une matrice X de trois colonnes et N lignes. Je souhaite que dans la 3ème colonne il y ait la concaténation des nombres des deux premieres colonnes. J'ai essayé le code ci-dessous mais il ne marche pas. Quelqu'un sait-il pourquoi?

    Merci beaucoup d'avance!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    N=10;
    X  =zeros(N,3);
    X(:,1)  =1;
    X(:,2) = 1:N
    toto = num2str(X(:,1));
    tata = num2str(X(:,2));
    titi = strcat(toto,tata);
    X_cat = str2num(titi)
    X =
    
         1     1     0
         1     2     0
         1     3     0
         1     4     0
         1     5     0
         1     6     0
         1     7     0
         1     8     0
         1     9     0
         1    10     0
    
    
    X_cat =
    
         []
    
    
    -------------------------
    Résultat attendu

    X_cat =
    
        11
        12
        13
        14
        15
        16
        17
        18
        19
        110
    
    -----------
    Remarque avec N = 9, ça marche mais avec N=10 non. C'est surement un indice pour trouver le problème mais malheureusuement même avec ça, je ne trouve pas d'où vient le souci..

    Merci de votre aide

  2. #2
    Membre éprouvé
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Points : 1 146
    Points
    1 146
    Par défaut
    Est ce que tu es sûre du résultat attendu, moi je pense que tu va trouver

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Comme je concatène seulement les deux premières colonnes de la matrice X, oui je m'attends bien à :


    Mais lorsque N>10, matlab me renvoie:
    []

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

    Il suffit de regarder ta variable titi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    >> titi = strcat(toto,tata)
     
    titi =
     
    1 1
    1 2
    1 3
    1 4
    1 5
    1 6
    1 7
    1 8
    1 9
    110
    Pourquoi pour N>=10 ? Parce que tu as besoin de 2 caractères à partir de là, il y a donc un espace qui s'insère devant les nombres <10.
    Une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    X_cat = str2num( num2str(X(:,1:2), '%d%d') )

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup !!!

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

Discussions similaires

  1. concatener un chiffre avec caractère
    Par id301077 dans le forum SAS Base
    Réponses: 1
    Dernier message: 19/07/2010, 13h58
  2. concatener chiffre dans champ
    Par marcmarc150 dans le forum IHM
    Réponses: 2
    Dernier message: 21/04/2010, 17h14
  3. [XL-2007] Formule CONCATENER = résultat erroné à 15 chiffres !
    Par ekkinox dans le forum Excel
    Réponses: 5
    Dernier message: 20/07/2009, 21h10
  4. concatener des chiffres en date abregee
    Par Invité dans le forum VBA Access
    Réponses: 2
    Dernier message: 29/10/2008, 15h04
  5. Recherche programme qui convertit les chiffres arabes en nb
    Par oli57 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 15/06/2002, 03h11

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