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 :

erreur lors de la lecture d'un fichier Excel par un executable


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Juin 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 12
    Par défaut erreur lors de la lecture d'un fichier Excel par un executable
    Bonjour,

    je travaille sous matlab et ai un problème avec un executable. Mon programme utilise des fichiers excel, j'utilise don la fonction xlsread. Quand j'execute mon programme à partir du fichier .m principal, je n'ai aucun soucis. Par contre, quand je lance le programme avec le .exe que matlab a compilé, j'ai une erreur dans mon xlsread, la console windows me renvoit un message (Erreur : espace de stockage insuffisant pour terminer l'opération).

    J'utilise matlab R2008b, et ce fichier excel a une taille de 23Mo.

    Quelqu'un a déjà eu ce problème et sait comment le résoudre

  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 317
    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 317
    Par défaut
    Travailles-tu sur une machine 32 ou 64 bits ?

    As-tu réellement besoin de charger toutes les données du classeur Excel au même moment ?
    As-tu essayé de fractionner la lecture en utilisant l'argument Range de xlsread ?

  3. #3
    Membre régulier
    Inscrit en
    Juin 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 12
    Par défaut
    Je travaille sur une machine 64 bits, mais le problème est le même sur une machine 32 bits.

    En fait, je reprends un code complexe fait par d'autres personnes, et je préfère ne pas toucher à leur organisation pour pas me perdre plus tard. S'il chargent tout d'un seul coup, c'est qu'il doivent avoir besoin de tout.

    Mais je répète que ce que je trouve étrange, c'est que quand je fait rouler le programme en le lançant à partir des sources matlab, aucun prob. C'est seulement quand j'utilise l'executable. Je pense que le problème vient pas de matlab car le message d'erreur inscirt dans la console est en français.

  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 317
    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 317
    Par défaut
    Citation Envoyé par maracujadobrasil Voir le message
    Je travaille sur une machine 64 bits, mais le problème est le même sur une machine 32 bits.
    Les problèmes de mémoire ne s'améliorent généralement pas sur une machine 32 bits qui est par définition, plus limitée dans ce domaine qu'une machine 64 bits.

    Citation Envoyé par maracujadobrasil Voir le message
    S'il chargent tout d'un seul coup, c'est qu'il doivent avoir besoin de tout.
    Si j'étais toi, je commencerais par vérifier cette supposition

    Le fichier Excel fait 23 Mo. Quelles sont les dimensions des variables à importer dans MATLAB avec xlsread ?
    Peux-tu nous en dire un peu plus sur ce que contient ce fichier Excel ?

  5. #5
    Membre régulier
    Inscrit en
    Juin 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 12
    Par défaut
    Oui, ils ont besoin de tout

    Le fichier excel contient 40400 lignes et DF colonnes. Il contient des chaines de caractères pour les titres, des nombre entiers (0 à 1 000 000 environ) et des cellules vides (pas mal de celulles vides mais il y a des cellules avec des nombres jusq'à la dernière ligne et jusqu'à la dernière colonne)

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    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 317
    Par défaut
    Impossible de reproduire le problème sur ma machine (Windows 7 64 bits)

    Une matrice pleine de dimension 40400x110 fait approximativement 34 Mo (40400*110*8/1024/1024)

    J'ai donc essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    X = rand(40400,110);
     
    xlswrite('test.xlsx',X); % ou .xls
    Puis j'ai compilé le code suivant avec deploytool :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function testxlsread
     
    X = xlsread('test.xlsx'); % ou .xls
     
    m = mean(X(:));
     
    disp(m);
    L'exécutable fonctionne parfaitement que ce soit dans MATLAB ou directement dans une console DOS

    Pourrais-tu essayer de compiler et d'exécuter ce même exemple très simple ?

Discussions similaires

  1. erreur lors de la lecture d'un fichier .Dat
    Par Imène_23 dans le forum MATLAB
    Réponses: 2
    Dernier message: 15/12/2011, 22h11
  2. Cellule vide lors de la lecture d'un fichier Excel par OLEDB
    Par seb.49 dans le forum Framework .NET
    Réponses: 4
    Dernier message: 06/02/2010, 19h52
  3. erreur lors de la lecture d'un fichier
    Par étoile de mer dans le forum Débuter
    Réponses: 4
    Dernier message: 02/01/2010, 21h39
  4. [XSLT] Erreur lors de la lecture d'un fichier XSL
    Par Mobius dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 14/05/2008, 15h25
  5. Erreur lors de la lecture d'un fichier
    Par akremb22 dans le forum Delphi
    Réponses: 14
    Dernier message: 11/04/2007, 16h15

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