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 :

comparaison de matrices [Débutant]


Sujet :

MATLAB

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 40
    Points : 44
    Points
    44
    Par défaut comparaison de matrices
    Bonjour,

    Voici mon problème:
    Je dispose de deux matrices: une (qui s'apelle mat_loc) contenant une seule colonne issue d'un fichier .dbf (les données sont au format string) une autre (qui s'apelle choi_loc) qui sert a stocker, dans une cellule, une chaîne de caractère entrée par l'utilisateur.
    Les deux matrice sont au format "cell".
    Le script que je doit faire a pour rôle de rechercher si la chaîne que l'utilisateur a saisie dans "choi_loc" existe dans "mat_loc".
    J'ai utilisé l'expression "strcmp" mais cela ne me retourne que des 0 pourtant il devrait y avoir des 1.
    Pourriez vous me donner des petites pistes pour que cela fonctionne?

    Merci d'avance pour vos réponses et bonne journée!

    Voici mon début de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [raw, name] = dbfread('AHORAIRE.DBF');
    mat_loc=raw(:,9); %On ne veut que la colonne 'locaux'
    choi_loc=input('Pour quelle salle voulez vous calculez les statistiques ','s');
    choi_loc=mat2cell(choi_loc);
    a=strcmp(choi_loc, mat_loc);

  2. #2
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 9
    Points : 13
    Points
    13
    Par défaut essaye de creer un vecteur au lieu faire une conversion
    essaye de créer directement un vecteur
    par exemple T=['mot1';'mot2';etc...]
    après tu compare avec a l'aide de strcmp

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

    @sanirbas Créer un tableau de char à la place d'un tableau de cellules est une mauvaise idée. Déjà avec ton simple code si l'un des mots a une longueur différente des autres, tu as une erreur de concaténation, et au mieux des espaces parasites qui s'insèrent.

    @TZoaldiek Hormis une mauvaise saisie je ne vois pas de raison à ce que cela ne fonctionne pas. Essai de contrôler s'il n'y a pas des espaces insérés.
    Note : tu peux te passer de la ligne choi_loc=mat2cell(choi_loc); qui te permettra d'avoir directement une seule valeur logique disant si choi_loc est contenu ou pas dans mat_loc.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 40
    Points : 44
    Points
    44
    Par défaut Merci
    Bonjour,

    Oui, merci, effectivement dans le fichier .dbf il y avait des espaces là où il n'y avait pas lieu d'en avoir. De plus, la ligne "choi_loc=mat2cell(choi_loc);", pour je ne sait quelle raison, empêchait l'affichage des 1.

    Encore merci pour votre aide,
    bonne journée.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/03/2013, 06h51
  2. Comparaison de matrices
    Par zaiim dans le forum Mathématiques
    Réponses: 7
    Dernier message: 15/02/2009, 19h31
  3. Comparaison de deux matrices sans boucle for
    Par zicos dans le forum MATLAB
    Réponses: 8
    Dernier message: 04/05/2007, 18h16
  4. comparaison 2 matrices
    Par bernard6 dans le forum MATLAB
    Réponses: 2
    Dernier message: 26/03/2007, 17h08

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