Ecrire des donnees dans un fichier .txt avec MATLAB
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Ecrire des donnees dans un fichier .txt avec MATLAB



  1. #1
    invitecd42c963

    Question Ecrire des donnees dans un fichier .txt avec MATLAB


    ------

    Bonjour,

    Je rencontre un petit probleme avec Matlab...
    Je souhaite ecrire des donnees dans un fichier .txt, et je ne sais pas comment faire. Il s'agit de plusieurs vecteurs, que j'aimerai ecrire a la suite, avec eventuellement des lignes de texte en plus. Pour commencer, il faudrais que je cree ce fichier, et meme ca je ne sais pas comment faire!
    J'ai deja eu l'occasion de travailler avec des fichiers image, et des fichiers de donnees .m, mais pour les fichiers .txt je ne trouve rien dans l'aide html de Matlab. Donc si vous pouviez m'eclairer de vos lumieres , ca serait fort sympathique!

    Merci beaucoup

    -----

  2. #2
    inviteffa1e107

    Re : Ecrire des donnees dans un fichier .txt avec MATLAB

    salut

    tu peux le faire avec la fonction save (tape help save pour en savoir plus)

    par exemple

    x=[0 0 1];
    y=[1 2 3];
    save 'test.txt' -ascii

    va te creer une fichier test.txt dans le répertouire courant avec le texte :
    0.0000000e+000 0.0000000e+000 1.0000000e+000
    1.0000000e+000 2.0000000e+000 3.0000000e+000

    il change de ligne d'une variable à l'autre
    save 'test.txt' -ascii -double
    va te créer la meme chose mais avec plus de chiffres (plus de précision donc)
    save 'test.txt' -ascii -double -tabs mais avec une tabulation comme séparateur

    pour ne pas sauter de ligne entre chaque vecteur , met les bout a bout : [x,y]

    pour le texte ca ne marche pas, il met les code ascii au lieu des lettres
    il doit y avoir une solution mais je ne l'ai pas la
    regarde les fonction fwrite et fopen, c'est peut etre mieux

    tcho

    asgrim
    va te creer la même chose

  3. #3
    inviteffa1e107

    Re : Ecrire des donnees dans un fichier .txt avec MATLAB

    en fait je vais revenir sur ce que jai dit
    comme ca pourrait me servir j'ai farfopuiller et ...
    il vaut mieux utiliser fprintf

    avec le script :
    x= [0 1 2];
    y = [3 4 5];
    %ouvre un fichier ou le créé
    fid = fopen('test.txt','w');
    %écrit dans ce fichier, fid est sa reference pour matlab
    fprintf(fid,'%s\n','vecteur x');
    fprintf(fid,'%i\t %i\t %i\n',x);
    fprintf(fid,'%s\n','vecteur y');
    fprintf(fid,'%i\t %i\t %i\n',y);
    %n'oublie pas de fermer le fichier sinon tu ,ne peux pas le lire
    fclose(fid)

    tu obtient alors :

    vecteur x
    0 1 2
    vecteur y
    3 4 5

    attention si tu l'ouvre sous bloc notes il ne fait pas la miose en page et met des imboles bizarres au lieu des tab et de retour a la ligne
    mais si tu vais un copier coller tu retrouve la bonne mise en page (c ce que j'ai fait juste au dessus)

    en ajoutant des tab et des return (dans le format) tu peux le mettre en forme comme tu veux
    regarde dans l'aide
    si tes vectreur sont long trouve une astuce pour le retour a la ligne a la fin de la ligne
    asgrim

  4. #4
    invitecd42c963

    Re : Ecrire des donnees dans un fichier .txt avec MATLAB

    Merci asgrim, ca marche tres bien ta methode
    Et au fait, si ca peut rendre service a quelqu'un: on peut simplement ecrire le vecteur dans le fichier avec l'instruction:
    fprintf(fid, '%i\t', x)
    et ce, quelque soit la taille du vecteur x

    Le seul probleme, est que le resultat fait pas tres propre (tabulations et retours a la ligne qui s'affichent sous forme de caracteres etranges), sauf si j'ouvre le fichier avec wordpad, ou alors si je travaille directement en .rtf. Et j'ai besoin d'un fichier "propre" pour l'utiliser dans une autre application (j'ai peur d'avoir un bug avec les caracteres etranges).

    Quelqu'un saurait-il comment faire pour obtenir les tabulations et retours a la lignes "propres" dans mon fichier .txt?? Peut etre avec fwrite au lieu de fprintf? mais j'ai pas reussi a bien m'en servir, et j'ai l'impression qu'on ne peut alors plus ecrire de texte entre les vecteurs...
    Si quelqu'un a une idee, elle serait la bienvenue!

    Merci beaucoup!

  5. A voir en vidéo sur Futura
  6. #5
    inviteffa1e107

    Re : Ecrire des donnees dans un fichier .txt avec MATLAB

    moi je dirais que ton fichier eszt propre mai que ton soft ne sais pas lire proprement

    les tab et les retour a la ligne c'est pour des appli 'affichage'
    bref c'est pour nous quand o lit a l'écran

    tu ne peux pas remplacer tes tab et tes retour a la ligne par d'autres
    séparateurs ( , ; / : ...)?????

    asgrim

  7. #6
    invite621eb0b8

    Re : Ecrire des donnees dans un fichier .txt avec MATLAB

    Bonjour,
    J avais le meme probleme que Ghislaine et je suis tombe sur la reponse ici (merci), sauf que le fichier cree est remplace a chaque execution, est il possible de creer un fichier texte dont le contenu pourrait augmenter (mettre a la suite toutes les informations voulues a chaques execution du programme sans perdre ce qui a ete fait avant?, dans le but d avoir un fichier sauvegarde de donnees pour pouvoir comparer les resultats obtenus).
    Si quelqu'un avait une solution a ce petit probleme, merci de bien vouloir prendre le temps d y repondre...

  8. #7
    btve

    Re : Ecrire des donnees dans un fichier .txt avec MATLAB

    Monster : regarde dans l'aide de fopen, peut-être qu'il existe l'option a plutôt que w.

  9. #8
    invite621eb0b8

    Re : Ecrire des donnees dans un fichier .txt avec MATLAB

    Merci btve, ca marche!, je savais qu il existait autant de permissions...
    Merci beaucoup...

  10. #9
    invitee4c390d7

    Re : Ecrire des donnees dans un fichier .txt avec MATLAB

    Bonjour,

    Tout d'abord, merci bcp, j'ai rencontré les mm pb et ca marche très bien.

    Cependant, je souhaiterais écrire dans mon fichier du texte en y insérant des indices du style:
    fprintf(fid,'%s\n','Mesure du quadripôle(i, i+3*j, i+j, i+2*j)');

    J'aimerais donc qu'a chaque itération, matlab écrive dans mon fichier en remplacant les indices par leur valeur, mais je sais pas comment l'écrire.

    Si vous pouviez m'aider à résoudre ce petit pb, je vous en serais très reconnaissant.

  11. #10
    invite7b1a9c3a

    Re : Ecrire des donnees dans un fichier .txt avec MATLAB

    Bonjour,
    j'ai un fichier .txt qui contien 10 colonnes et 800 000 ligne (ce fichier à été crier par matlab) je voudrai ajouter les entêtes (une entête sur chaque colonne) par matlab en gardant toujour les données dans le fichier sans perte.

    Je vous remercie énormément pour votre aide

Discussions similaires

  1. lire un fichier avec Matlab
    Par inviteb43c2c20 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 22/12/2013, 12h36
  2. Exportation de fichier dans MATLAB
    Par invitea94a24eb dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 06/02/2007, 19h02
  3. adresse ip dans un fichier txt
    Par alainav1 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 5
    Dernier message: 25/11/2006, 12h06
  4. [Matlab] Ecrire un espace dans un fichier binaire
    Par invite24357dd0 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 12/08/2004, 16h41
  5. Lecture d un fichier avec matlab
    Par invitee5e6851e dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 05/07/2004, 15h03
Découvrez nos comparatifs produits sur l'informatique et les technologies.