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 :

Strcmp ne renvoie pas de vecteur


Sujet :

MATLAB

  1. #1
    Membre régulier Avatar de Gorzyne
    Profil pro
    Collégien
    Inscrit en
    Janvier 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Janvier 2008
    Messages : 324
    Points : 115
    Points
    115
    Par défaut Strcmp ne renvoie pas de vecteur
    Help

    j'ai une instruction


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    I_reelle_montant=find(not(strcmp(Montant_gar_tot,'')));

    qui prend en entrée un vecteur et est sensée me renvoyer un vecteur de booleens, et qui malheureusement me renvoie un unique booleen 0 ou 1, ce qui fausse toute la suite de mon programme

    Avez vous une idée de ce qui peut poser problème ?


    Merci beaucoup à tous
    Gorz

  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 : 53 166
    Points
    53 166
    Par défaut
    Cette instruction me semble bien compliquée... Pourrais-tu nous expliquer ce qu'elle est sensée faire ?

    Et que renvoi ceci ?
    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
    Membre régulier Avatar de Gorzyne
    Profil pro
    Collégien
    Inscrit en
    Janvier 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Janvier 2008
    Messages : 324
    Points : 115
    Points
    115
    Par défaut
    merci pour votre retour rapide
    l'instruction que vous m'indiquez retourne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    whos Montant_gar_tot
      Name                     Size             Bytes  Class     Attributes
     
      Montant_gar_tot      40305x1             322440  double
    disons que c'est une instruction qui n'a normalement jamais posée problème jusqu'ici, c'est à dire depuis 10 ans... et la en vérifiant les résultats, je me suis aperçu que ça ne renvoyait pas le résultat espéré

  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
    Pourquoi tester une chaine vide avec strcmp sur un tableau contenant des valeurs numériques ? Je ne vois pas la logique derrière ce code.

    Que représente Montant_gar_tot ? Que devrait contenir I_reelle_montant ?
    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 régulier Avatar de Gorzyne
    Profil pro
    Collégien
    Inscrit en
    Janvier 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Janvier 2008
    Messages : 324
    Points : 115
    Points
    115
    Par défaut
    le tableau contient tantôt des montants numériques tantôt rien (= chaîne vide)
    on en déduit une indicatrice qui permet ensuite d'appliquer un traitement spécifique
    mais j'ai essayé également en remplaçant '' par des 0 pour voir si les zéros ressortaient mais ça ne marchaient pas non plus je crois

    merci beaucoup pour voter sollicitude

    Montant_gar_tot contient un montant calculé en dehors du logiciel principal, et injecté en dur "manuellement" dans le programme
    Lorsqu'il y a un montant >0 ce montant vient écraser le calcul du logiciel

    I_*** représente l'indicatrice de booléen qui indique si il y a un montant >0 à prendre en compte

    on peut sans doute réécrire autrement d'ailleurs c'est ce que j'ai fait et ça a marché, mais cela ne répond pas à la question de savoir pourquoi cela s'est produit alors que ça fonctionnait bien, est ce parce qu'on ne s'en était jamais aperçu (je vais mener un petit audit à ce niveau mais normalement pas) ou bien est ce qu'il y a eu une spécificité par exemple au niveau du vecteur d'entrée qui a perturbé le comportement habituel... je sais pas

Discussions similaires

  1. Requete qui ne renvoie pas de résultat
    Par bruno782 dans le forum Requêtes
    Réponses: 6
    Dernier message: 01/08/2019, 13h39
  2. apache ne renvoie pas les pages de plus de 255 octets!
    Par vedrfolnir dans le forum Apache
    Réponses: 1
    Dernier message: 20/02/2006, 16h05
  3. Réponses: 3
    Dernier message: 06/12/2005, 13h44
  4. Réponses: 2
    Dernier message: 12/01/2005, 23h08
  5. jointure renvois pas tous les enregistrements
    Par rayonx dans le forum Langage SQL
    Réponses: 7
    Dernier message: 29/08/2002, 12h51

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