Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Import de données sous matlab



  1. #1
    Titi_lariflette

    Import de données sous matlab

    Bonjour à tous,

    Je dois importer un fichier de données sous matlab afin de le stocker sous la forme d'une matrice:

    J'ai utilisé les commandes suivantes:

    fiche=fopen('0_sol.meu','r') ;
    donnee=fscanf(fiche,'%g %g %g ',[3 inf]);
    A=[zeros(5000,3)] ;
    A=[donnee] ;
    fclose(fiche);
    disp(A);

    Pourtant lorsque je tape sous matlab

    >> A

    il m'affiche [ ] et je n'arrive pas à avoir ma matrice.


    Pourriez vous m'aider et merci d'avance


    Titi_lariflette

    -----


  2. #2
    jepoirrier

    Re : Import de données sous matlab

    Bonsoir,
    Il y a plusieurs points à envisager ...

    1. La ligne "A=[zeros(5000,3)];" ne sert apparemment pas à grand chose car la variable A est écrasée et réassociée avec autre chose (la variable donnée). Est-ce normal ?

    2. Si le code que tu nous donnes n'est que dans un script (fichier .m ne commençant pas par le mot "function"), il n'y a pas de problème : tu retrouves toutes tes variables dans le workspace à la fin du script.

    3. Si le code est dans une fonction (fichier .m commençant par "function"), il est tout à fait normal que tu ne saches pas accéder à la variable A créée dans la fonction. On dit que la "portée" des variables est locale. Pour que tu puisses récupérer la variable A dans le workspace, il faut que ta fonction commence par quelque chose comme ceci (en admettant que ton fichier s'appelle "Osol.m") :
    Code:
    function [A] = Osol()
    Il te suffit alors d'appeler ta fonction comme ceci :
    Code:
    B = Osol();
    Ai-je répondu à ta question ?
    Jean-Etienne

  3. #3
    Titi_lariflette

    Re : Import de données sous matlab

    Bonsoir Jean-Etienne et merci,

    Mon principal problème est le suivant:

    j'ai un fichier de données que je dois importer sous matlab, de façon à avoir une matrice 5000*3 pour stocker ses valeurs.

    J'ai essayé mais ça ne marche toujours pas.

    Pouvez-vous m'aider merci.

    Titi

  4. #4
    jepoirrier

    Re : Import de données sous matlab

    Bonsoir,
    En fait, dès la seconde ligne (donnee=...), tout ce qui se trouve dans le fichier est dans ta variable "donnee". Je ne vois pas vraiment à quoi sert ta troisième ligne (avec la fonction zero) : tu peux préparer ta variable A avec un tableau de 15000 zéros, çà ne sert à rien si tu attribues les valeurs de donnee à A à la ligne suivante. A aura la même taille que donnee. donnee aura la taille des valeurs dans ton fichiers. Si tu ne récupères pas 15000 données et qu'elles sont effectivement dans ton fichier, tu as peut-être un problème avec les paramètres de la fonction fscanf.

Sur le même thème :

Discussions similaires

  1. [débutant] données temporelles matlab
    Par c.halgand dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 02/11/2007, 17h18
  2. [Matlab] Utilisation selective des donnees d'un vecteur
    Par Stud-ENSPG dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 10/07/2007, 11h41
  3. Importation données Matlab
    Par garry444 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 14/06/2007, 13h38
  4. Comment intégrer des données sous Excel dans un StringGrid sous C++ Builder ?
    Par Hoopsy dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 29/05/2007, 11h56
  5. Matlab : importation de données
    Par juvonet dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 15/04/2006, 14h18