Octave lire ecrire plusieurs fichiers

Résolu
Tina -  
 Tina -
Bonjour,
j'ai 41 fichiers dans un dossiers, je vudrais pour chaque fichier extraire le 3ere col et l'écrire dans un autre fichier .
j'ai réussi pour un seul fichier:

clear all
close all
clc
format long
Donnees= load("Don1.txt");
x=Donnees(:,3)';
Fich_pts=[x];
fid = fopen('New_Don1.txt','at');
fprintf(fid,'%12.3f \n',Fich_pts');
fprintf(fid,'%s\n');
fclose(fid);

Mais franchement je sais pas trop comment faire une boucle pour les 41 fichiers.
Qqn a un peu de temps pour m'aider?
Merci d'avance

1 réponse

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    salut.
    un truc dans le genre devrais aller :
    clear all
    close all
    clc
    format long
    for n=1:41
      Donnees= load(["Don",num2str(n,3),".txt"]);
      x=Donnees(:,3)';
      Fich_pts=[x];
      fid = fopen(["New_Don",num2str(n,3),".txt"],'at');
      fprintf(fid,'%12.3f \n',Fich_pts');
      fprintf(fid,'%s\n');
      fclose(fid); 
    end
    2
    1. Tina
       
      Merci bien pour la reponse, ca marche!!!!
      0
    2. Tina
       
      Mais si les noms des fichiers sont differents, par exemple Don1, Don2, Mes1,,...
      est ce qu'il y a un moyn pour le dire de prendre tous les fichiers ??
      Désolée de te déranger;
      0
    3. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      oui, mais c'est beaucoup plus chiant. Il faut faire une espèce de ls, puis récupérer ça, le modifier etc.
      0
    4. Tina
       
      ok , merciii
      0