Précédent   Forum FS Generation > Futura-Techno : les forums de l'informatique et des technologies > Informatique > Logiciel - Software - Open Source
Mot de passe oublié ? Inscrivez-vous !


Réponse
 
Outils de la discussion Modes d'affichage
Vieux 08/07/2004, 20h48   #1
 
Date d'inscription: juillet 2004
Localisation: Mexico
Âge: 26
Messages: 10
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
ghislaine est déconnecté   Réponse avec citation
Alt Aujourd'hui
Publicité

Beitrag Liens sponsorisés

   
Vieux 09/07/2004, 09h39   #2
 
Date d'inscription: juin 2004
Messages: 77
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
__________________
La lumière a quelque chose de maléfique.
Seules d'obscures expériences permettent de s'y initier.
asgrim est déconnecté   Réponse avec citation
Vieux 09/07/2004, 10h45   #3
 
Date d'inscription: juin 2004
Messages: 77
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
__________________
La lumière a quelque chose de maléfique.
Seules d'obscures expériences permettent de s'y initier.
asgrim est déconnecté   Réponse avec citation
Vieux 09/07/2004, 23h07   #4
 
Date d'inscription: juillet 2004
Localisation: Mexico
Âge: 26
Messages: 10
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!
ghislaine est déconnecté   Réponse avec citation
Vieux 12/07/2004, 08h46   #5
 
Date d'inscription: juin 2004
Messages: 77
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
__________________
La lumière a quelque chose de maléfique.
Seules d'obscures expériences permettent de s'y initier.
asgrim est déconnecté   Réponse avec citation
Vieux 04/08/2004, 12h39   #6
 
Date d'inscription: août 2004
Messages: 2
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...
Monster est déconnecté   Réponse avec citation
Vieux 04/08/2004, 12h56   #7
 
Date d'inscription: mai 2003
Localisation: Lorient/Bretagne
Âge: 23
Messages: 208
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.
btve est déconnecté   Réponse avec citation
Vieux 04/08/2004, 13h34   #8
 
Date d'inscription: août 2004
Messages: 2
Re : Ecrire des donnees dans un fichier .txt avec MATLAB

Merci btve, ca marche!, je savais qu il existait autant de permissions...
Merci beaucoup...
Monster est déconnecté   Réponse avec citation










Réponse

Tags
matlab, .txt, fichier, donnees, ecrire

Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
lire un fichier avec Matlab marionsmiley Mathématiques du supérieur 3 15/09/2008 21h28
Exportation de fichier dans MATLAB ouedfranck Mathématiques du supérieur 2 06/02/2007 20h02
adresse ip dans un fichier txt alainav1 Internet - Réseau - Sécurité générale 5 25/11/2006 13h06
[Matlab] Ecrire un espace dans un fichier binaire jepoirrier Logiciel - Software - Open Source 2 12/08/2004 17h41
Lecture d un fichier avec matlab Julian5962 Logiciel - Software - Open Source 6 05/07/2004 16h03


Les dernières actualités
14/10 17:23 - Baladeurs : des pertes irréversibles de l'audition ?
14/10 16:27 - Le meilleur de l'actu en dessins humoristiques (S41)
14/10 15:34 - Réchauffement global et activité humaine : un argument de plus
14/10 14:31 - En bref : le successeur de Vista s'appellera Windows 7
14/10 13:33 - En vidéo : premières images en « live » d'un embryon de poisson
14/10 11:32 - L'exoplanète où le ciel est pourpre et le soleil cyan !
14/10 09:31 - Le rover Mars Science Laboratory s'envolera bien en 2009

Fuseau horaire GMT +2. Il est actuellement 23h12.


Édité par : vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. Tous droits réservés.