Utiliser les données d'un .txt sous SCILAB
Résolu
matt
-
daronmaster Messages postés 326 Date d'inscription Statut Membre Dernière intervention -
daronmaster Messages postés 326 Date d'inscription Statut Membre Dernière intervention -
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
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
Configuration: Windows XP Internet Explorer 6.0
4 réponses
-
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û -
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û -
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 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
-