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 :

xlsread me retourne une variable vide [Débutant]


Sujet :

MATLAB

  1. #1
    Membre régulier
    Profil pro
    Doctorant
    Inscrit en
    Février 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 258
    Points : 88
    Points
    88
    Par défaut xlsread me retourne une variable vide
    Bonjour;

    je veux importer les données d'un fichier excel en utilisant la fonction xlsread.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    filename ='C:\Users\Utilisateur\Desktop\Matrice.csv'
    mat= xlsread(filename)
    mais comme résultat j'ai toujours une explication s'il vous plait ?

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Bonjour,

    Est-ce que tu peux mettre ton fichier excel en pièce jointe que l'on puisse essayer de notre côté?
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  3. #3
    Membre régulier
    Profil pro
    Doctorant
    Inscrit en
    Février 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 258
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par Gooby Voir le message
    Bonjour,

    Est-ce que tu peux mettre ton fichier excel en pièce jointe que l'on puisse essayer de notre côté?
    bien sûr Matrice.xlsx j'ai mis le fichier en .xlsx

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    La fonction xlsread n'arrive en effet pas à importer les data qui se trouvent dans Matrice.xlsx car ce fichier contient des chaînes de caractères et non des nombres

    Tu as donc deux solutions qui s'offrent à toi:

    -Remplacer tout les points (.) dans ton fichier excel par des virgules (cela peut être fait en une seule manœuvre si je ne dis pas de bêtises)
    -Utiliser la fonction importdata pour rapatrier tes données dans matlab et convertir ces données en nombres (petit indice: voir les fonctions num2str, cellfun et reshape )
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  5. #5
    Membre régulier
    Profil pro
    Doctorant
    Inscrit en
    Février 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 258
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par Gooby Voir le message
    La fonction xlsread n'arrive en effet pas à importer les data qui se trouvent dans Matrice.xlsx car ce fichier contient des chaînes de caractères et non des nombres

    Tu as donc deux solutions qui s'offrent à toi:

    -Remplacer tout les points (.) dans ton fichier excel par des virgules (cela peut être fait en une seule manœuvre si je ne dis pas de bêtises)
    -Utiliser la fonction importdata pour rapatrier tes données dans matlab et convertir ces données en nombres (petit indice: voir les fonctions num2str, cellfun et reshape )
    Merci j'ai changé les . en , mais s'il vous plait comment ça se fait qu'il les a reconnu en étant des chaîne de caractères, alors que moi j'ai bien vérifier que le format des cellules est un nombre dans excel ?

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Je ne suis pas spécialiste en excel, ce n'est donc qu'une hypothèse mais je pense qu'excel les séparations décimales se fait avec des points en anglais et avec des virgules en français. La confusion vient peut être de là. Et sinon, je pense que le fait que tu spécifies que tes cellules soient en français n'exclus pas que tu puisses y écrire du texte dedans.

    Si quelqu'un peut confirmer tout cela.
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  7. #7
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    c'est ça, ça dépend des paramètres régionaux
    par défaut excel prend les paramètres régionaux de windows mais il est possible de les fixer indépendamment également dans les préférences d'excel
    basiquement si une cellule est vue comme numérique par excel elle sera importé au format numérique dans matlab, quelque soit le séparateur utilisé
    sinon elle est importé au format string

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

Discussions similaires

  1. [DOS] Gérer une variable vide
    Par Bahan dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 13/12/2007, 11h30
  2. [POO] Retourner une variables contenu dans une autre méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 6
    Dernier message: 15/10/2007, 16h29
  3. Réponses: 1
    Dernier message: 17/01/2007, 21h52
  4. [MySQL] Retourner une variable
    Par ctrl+z dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 11/10/2006, 12h27
  5. Réponses: 6
    Dernier message: 30/08/2006, 18h05

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