Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1912 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Ouvrir des fichiers dont le nom est incrémenté avec scilab

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ouvrir des fichiers dont le nom est incrémenté avec scilab

n°2224139
westohn
Posté le 04-04-2014 à 17:34:28  profilanswer
 

Bonjour,  
 
Je suis totalement novice en programmation.  
 
Je souhaite extraire les données de 1000 fichiers .dat dont le nom est incrémenté :  
 
B00001.dat, B00002.dat, ..., B01000.dat  
 
Ces fichiers contiennent 4 colonnes séparés par des espaces et 11403 lignes.  
 
Les 3 premières lignes sont du textes et les 11400 lignes suivantes sont des points.  
 
Les 2 premières colonnes représentent la position de chaque points (x et y)  
 
Les 2 autres colonnes représentent les vitesses en chaque point (Vx et Vy).  
 
Les 1000 fichiers correspondent chacun à une mesure des vitesses en chaque point à un instant donné allant de 0,001 seconde (B00001.dat) à 1,000 seconde (B01000.dat).  
 
Je doit réaliser la moyenne des fichiers en chaque points.  
 
J'ai fouiller un peu partout sur internet et j'ai réussis à ouvrir le premier fichier en faisant:  
 
 
 
--> fichier=mopen('B00001.dat','r');
 
--> donnee=mgetl(fichier);
 
--> mclose(fichier);
 
--> donnee=donnee(4:11403,:);
 
--> donnee=evstr(donnee);
 
 
J'aimerais maintenant pouvoir ouvrir tout les fichiers pour pouvoir réaliser une moyenne des 2 dernières colonnes de chaque fichier que je pourrais écrire sur un seul fichier.  
 
J'ai pour cela renommé tout mes fichiers donnee (1), donnee (2), ..., donnee (1000) et j'ai écrit :  
 
 
 
--> for p=1:1000,
 
--> fid=mopen('donnee (p).dat','r');
 
--> donnee=mgetl(fid);
 
--> mclose(fid);
 
--> donnee=donnee(4:11403,:);
 
--> donnee=evstr(donnee);
 
 
Cependant, cela ne fonctionne pas du tout, le logiciel me met !-- error 999  
"mopen : Impossible d'ouvrir le fichier donnee (p).dat  
 
J'ai regardé un peu partout sur internet et essayer d'autres script, mais ne trouve pas de solution et commence à désespérer un peu ^^.  
 
Comment pourrais je faire ?  
 
Toute aide sera la bienvenue,  
 
Merci d'avance! :)

mood
Publicité
Posté le 04-04-2014 à 17:34:28  profilanswer
 

n°2224184
honrisse
Posté le 05-04-2014 à 12:00:33  profilanswer
 

westohn a écrit :

Bonjour,  
 
Je suis totalement novice en programmation.  
 
Je souhaite extraire les données de 1000 fichiers .dat dont le nom est incrémenté :  
 
B00001.dat, B00002.dat, ..., B01000.dat  
 
Ces fichiers contiennent 4 colonnes séparés par des espaces et 11403 lignes.  
 
Les 3 premières lignes sont du textes et les 11400 lignes suivantes sont des points.  
 
Les 2 premières colonnes représentent la position de chaque points (x et y)  
 
Les 2 autres colonnes représentent les vitesses en chaque point (Vx et Vy).  
 
Les 1000 fichiers correspondent chacun à une mesure des vitesses en chaque point à un instant donné allant de 0,001 seconde (B00001.dat) à 1,000 seconde (B01000.dat).  
 
Je doit réaliser la moyenne des fichiers en chaque points.  
 
J'ai fouiller un peu partout sur internet et j'ai réussis à ouvrir le premier fichier en faisant:  
 
 
 
--> fichier=mopen('B00001.dat','r');
 
--> donnee=mgetl(fichier);
 
--> mclose(fichier);
 
--> donnee=donnee(4:11403,:);
 
--> donnee=evstr(donnee);
 
 
J'aimerais maintenant pouvoir ouvrir tout les fichiers pour pouvoir réaliser une moyenne des 2 dernières colonnes de chaque fichier que je pourrais écrire sur un seul fichier.  
 
J'ai pour cela renommé tout mes fichiers donnee (1), donnee (2), ..., donnee (1000) et j'ai écrit :  
 
 
 
--> for p=1:1000,
 
--> fid=mopen('donnee (p).dat','r');
 
--> donnee=mgetl(fid);
 
--> mclose(fid);
 
--> donnee=donnee(4:11403,:);
 
--> donnee=evstr(donnee);
 
 
Cependant, cela ne fonctionne pas du tout, le logiciel me met !-- error 999  
"mopen : Impossible d'ouvrir le fichier donnee (p).dat  
 
J'ai regardé un peu partout sur internet et essayer d'autres script, mais ne trouve pas de solution et commence à désespérer un peu ^^.  
 
Comment pourrais je faire ?  
 
Toute aide sera la bienvenue,  
 
Merci d'avance! :)


 
En mettant "p" dans le nom, Scilab interprète p comme partie du nom et pas comme la variable p.
En Matlab, quelque chose comme ça fonctionne :

Code :
  1. for p = 1:1000
  2.     %http://www.mathworks.fr/fr/help/matlab/ref/sprintf.html
  3.     filename = sprintf('B%05d.dat', p)
  4.     % ouverture du fichier
  5.     % load(filename)
  6. end


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Ouvrir des fichiers dont le nom est incrémenté avec scilab

 

Sujets relatifs
Organisation des fichiers de la BDDouvrir une image java.
[FORTRAN] Ouvrir les fichiers d'un répertoire sans connaitre leur nomrotation fichiers awstats
[BATCH] Changement d'extension et concaténer des fichiersscript batch kill processus + copie de fichiers
Ouvrir un lien réseau "file://" sous google chromeGestion de fichiers PHP
ouvrir un lien dans un autre navigateur? 
Plus de sujets relatifs à : Ouvrir des fichiers dont le nom est incrémenté avec scilab


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR