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 :

tableau de chaine de caractères et de nombres


Sujet :

MATLAB

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 126
    Points : 45
    Points
    45
    Par défaut tableau de chaine de caractères et de nombres
    Bonjour tous le monde.
    j'ai un tableau qui contient des mots arabe, et [] (cellule vide) ainsi que des nombres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    tab=
    'حك' 
    [] 
    [] 
    [1.99]
    lorsque j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cell2mat(tab(:,i))
    il m'affiche l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ??? Error using ==> cell2mat at 47
    All contents of the input cell array must be of the same data type.
    je sais que cette fonction ne permet pas d'utiliser des cellules avec différents types.
    est ce que vous avez une idée?comment je doit faure pour régler ce problème?j'ai penser à différent choses mai ca marche pas
    s'il vous plait c'est urgent.
    est ce que quelqu'un peut m'aider??

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

    Je croyais que c'était
    Pourquoi tiens-tu faire cette conversion tableau de cellules => tableau?
    As-tu une raison particulière?

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 126
    Points : 45
    Points
    45
    Par défaut
    oui c'est vrai j'ai cru que c'était résolu mai!!
    j'ai besoin de cette conversion par ce que je veux utiliser la fonction et cette fonction ne peut pas être utilisé avec un tableau de cellule

  4. #4
    Invité
    Invité(e)
    Par défaut
    Non pas directement, mais tu peux t'en sortir avec la fonction doc cellfun.
    Bon pensant que tu veux seulement sommer les valeurs numériques:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    isNum = cellfun(@isnumeric,tab);
    sum([tab{isNum}])

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 126
    Points : 45
    Points
    45
    Par défaut
    mai si je fai ca, isnum va contenir juste des 1 donc la deuxieme proposition ca va pas marché

  6. #6
    Invité
    Invité(e)
    Par défaut
    Plus précisément des 1 (true) lorsque tu as des valeurs numériques ou [], et des 0 (false) lorsque tu as des mots.
    Je te conseille de regarder ce qu'est l'indexage logique.
    Avec ton exemple (un peu modifié pour mieux illustrer ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    tab={
    'حك'
    2.77 
    'حك'
    [] 
    [] 
    1.99};
    On aura
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    >> isNum = cellfun(@isnumeric,tab)
     
         0    % 'حك' non numérique
         1    % 2.77 numérique
         0    % 'حك' non numérique
         1    % [] numérique: voir <a href="showthread.php?p=6426460#post6426460" title="Forum du club des développeurs et IT Pro - Message 6426460">démo</a>
         1    % [] numérique
         1    % 1.99 numérique
     
    >>tab{isNum} % Sélection des numériques
     
    ans =
     
        2.7700
     
    ans =
     
         []
     
    ans =
     
         []
     
    ans =
     
        1.9900
     
    >>[tab{isNum}] % Concaténation
     
        2.7700    1.9900

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 126
    Points : 45
    Points
    45
    Par défaut
    bon moi je voulais donner juste un exemple pour trouver une solution mai mon tableau est construit de plusieurs lignes ainsi de plusieurs colonnes
    ce que je veux exactement,c'est sommer les valeurs d'un colonne donner
    pour ca je fait:
    prenons l'exemple que je veux sommer les valeurs du premier colonne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    isNum = cellfun(@isnumeric,tab(:,1));
                sum([tab{isNum}])
    ce qui me donne pas de résultat

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par najma Voir le message
    ce qui me donne pas de résultat
    À savoir? Une erreur? Sinon tu dois bien obtenir une valeur...
    As-tu au moins essayé de détailler ton calcul comme mon exemple afin de savoir où se trouvait le problème?

    Remarque: Pour la première colonne, cela n'a pas d'importance, mais pour les autres, ce sera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum([tab{isNum,colonne}])

  9. #9
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 126
    Points : 45
    Points
    45
    Par défaut
    c'est ca ce que je cherche merci beaucoup, c'est l'ajout de colonne.
    oui bien sur,j'ai testé et j'était entrain de tester pour le troisième colonne c'est pour ca que j'ai pas obtenu de résultat

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 31/05/2007, 16h10
  2. tableau de chaine de caractères
    Par psgman113 dans le forum C
    Réponses: 15
    Dernier message: 22/01/2007, 19h52
  3. Pointeur, tableau et chaines de caractères.
    Par rouliane dans le forum C++
    Réponses: 8
    Dernier message: 19/12/2006, 21h27
  4. Réponses: 15
    Dernier message: 04/11/2006, 11h02
  5. [C] tableau de chaines de caractères
    Par kitsune dans le forum C
    Réponses: 18
    Dernier message: 01/04/2006, 19h18

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