Utiliser les données d'un .txt sous SCILAB [Résolu/Fermé]

Signaler
-
Messages postés
326
Date d'inscription
vendredi 12 janvier 2007
Statut
Membre
Dernière intervention
11 mai 2009
-
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

4 réponses

Messages postés
326
Date d'inscription
vendredi 12 janvier 2007
Statut
Membre
Dernière intervention
11 mai 2009
41
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û
4
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
326
Date d'inscription
vendredi 12 janvier 2007
Statut
Membre
Dernière intervention
11 mai 2009
41
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û
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
Messages postés
326
Date d'inscription
vendredi 12 janvier 2007
Statut
Membre
Dernière intervention
11 mai 2009
41
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
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
Messages postés
326
Date d'inscription
vendredi 12 janvier 2007
Statut
Membre
Dernière intervention
11 mai 2009
41
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û
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
> matt
pardon pour récuperer la ligne c'est

ligne_choisie=stock(16).i


à plus