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 :

Mystère de variable


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2011
    Messages : 49
    Par défaut Mystère de variable
    Bonjour,

    Je fais appel à vous car je n'arrive pas à comprendre pourquoi Matlab réagit comme cela :
    J'ai récupéré une chaine de caractère d'un fichier qui est celle-ci : version='0'.
    Puis plus loin dans le code j'ai rajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    version = str2double(version) +1;
            disp(['la version du logiciel est : ' version '.00'])
    Matlab me réponds cela :
    la version du logiciel est : .00
    Alors que si je mets uniquement disp(version) il me réponds correctement "1"!
    Voyez-vous pourquoi?
    J'avoue ne plus rien y comprendre... Est ce un problème de type de variable ?
    En vous remerciant d'avance

    Magicsmacks

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 299
    Par défaut
    salut, dans ton code, version est un double et non une string. Donc il y a un problème dans ton vecteur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ['la version du logiciel est : ' version '.00']
    A la rigueur, fais comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    version = str2double(version) +1;
    version = num2str(version);
    disp(['la version du logiciel est : ' version '.00'])

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2011
    Messages : 49
    Par défaut
    Merci beaucoup pour cette réponse.
    Ca fonctionne !
    Il faudra que je me trouve un tuto sur les chaînes de caractère, string, double... sous matlab
    Merci

    Magicsmacks

  4. #4
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    En parallèle je te déconseille d'utiliser VERSION comme nom de variable car il s'agit d'une fonction MATLAB (que tu vas donc écraser en l'utilisant).

    Sinon tu peux aussi utilser SPRINTF pour "mélanger" du texte et des nombres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    versionLog = str2double(versionLog ) +1;
    sprintf('la version du logiciel est : %d.00',versionLog)

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/07/2002, 13h32
  2. variables locales ou globales ???
    Par elvivo dans le forum C
    Réponses: 13
    Dernier message: 03/07/2002, 08h22
  3. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08
  4. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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