Utiliser les données d'un .txt sous SCILAB

Résolu/Fermé
matt - 26 mai 2008 à 16:24
daronmaster Messages postés 326 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 11 mai 2009 - 27 mai 2008 à 10:59
Bonjour à tous, je travail sous SCILAB et je cherche à récupérer les données contenu dans un fichier .txt, elles sont écrite sous formes de tableau (4 colonnes 20 lignes).

J'arrive à extraire le tableau, mais je voudrai pouvoir séléctionner la ligne que je désire, et pouvoir garder juste cette info.

j'en suis ici dans mon code:



// Ouverture du fichier
fichier_mes_lib=mopen('tpp.txt','r') ;


//use niter=-1 to read up to the end of file
donne_mesure_char_lib=mfscanf(-1,fichier_mes_lib,'%d %d %d %f')

// Fermeture du fichier
mclose(fichier_mes_lib);



j'ai essayé d'utiliser la fonction mscanf mais je n'y arrive pas.
merci
A voir également:

4 réponses

daronmaster Messages postés 326 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 11 mai 2009 44
27 mai 2008 à 10:59
bonne continuation mon ami, grace à toi j'ai appris des choses sur scilab (et oui j'ai fait des recherches pour t'aider)

N'hésite pas la prochaine fois

tchû
5
daronmaster Messages postés 326 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 11 mai 2009 44
26 mai 2008 à 16:29
est-ce que ton "donne_mesure_char_lib" correspond à une matrice maintenant ?

si tel est le cas alors accedes-y par donne_mesure_char_lib(i,j) ou i et j sont tes lignes et colonnes

je ne sais poas si cela va marcher mais on ne sais jamais ...


tchû
1
non, je crois pas.
je crois que sa correspond à une chaine de caractère.

car après mon but est de divisé cette chaine en 4 donnés qui correspond aux 4 colonnes.
lorsque je rentre mes données sur le .txt je les sépares d'une tabulation pour pouvoir les reconnaitres

merci quand mm
0
daronmaster Messages postés 326 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 11 mai 2009 44
26 mai 2008 à 16:47
tu peux faire ça : y(2,1:3) = mfscanf(fd, '%f %f %f\n'),
que j'ai vu ici : https://fr.wikibooks.org/wiki/D%C3%A9couvrir_Scilab_Gestion_des_fichiers vers le milieu de page.

ici y est une matrice et on y met les trois valeurs scannée dans les trois premiere ligne
0
je suis entrain d'éssayer mais il faut que je rentre chez moi.
je te redonne des nouvelles dès que j'ai du nouveau.

merci beaucoup
0
daronmaster Messages postés 326 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 11 mai 2009 44
26 mai 2008 à 21:01
je me suis renseigner et tu peux faire

donne_mesure_char_lib=mfscanf(-1,fichier_mes_lib,"%d %d %d %f") comme tu l'avais indiquer ce qui correspond à une matrice de 4 colonnes et de n lignes.

tu as aussi

donne_mesure_char_lib=fscanfMat('tpp.txt'); qui lit une matrice depuis le fichier ça marche super bien je viens de l'essayer.

voila essaie voir si cela marche

tiens moi au courant

tchû
0
j'ai essayé la manière de la matrice et sa marche, j'ai également opté pour un tableau de sturcture:
Avec une boucle de récupération ligne par ligne:
voilà le code:


w=1;
//ouvrir le fichier
fichier=mopen('tpp.txt','r');

//boucle de récupération jusqu'à la fin du fichier
while err==meof(fichier) do

//récuperation des données
ligne=mfscanf(fichier,'%f %f %f %f');

//stockage des données
stock(w).i=ligne;
w=w+1;

end


et en faisant:

ligne_choisie=matt(16).i

j'arrive à récuperer la ligne que je veux ( en l'occurence ligne=16)


en tout cas merci, tu m'a beaucoup aider dans mes recherches.

merci beaucoup daronmaster
a plus
0
matt > matt
27 mai 2008 à 10:58
pardon pour récuperer la ligne c'est

ligne_choisie=stock(16).i


à plus
0