1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| clear nomrep liste calcul % effacement des données
pattern = '^P[A-Za-z]\d{6}$'; % format du nom des répertoires : 'PX123456'
liste = dir; % extrait la liste des fichiers et répertoires
matches = ~cellfun(@isempty ,regexp({liste.name}, pattern, 'match')); % sélectionne les répertoires de la forme 'PX123456'
nomrep = {liste( matches ).name};% contient le nom des répertoires du bon format
nbrepiece = numel(nomrep) ; % compte le nombre de pièces à traiter
% ouverture et modification du fichier AI.xlt
for i = 1:nbrepiece
nomfichier{i} = fullfile(pwd, nomrep{i}, nomrep{i}, 'AI.xlt'); % création du chemin complet du fichier
fid = fopen(nomfichier{i}, 'rt'); % ouverture du fichier
car = fread(fid);
data = strrep(char(car'), ',', '.'); % remplacement des ',' par des '.'
regexp(data, '\t', 'split'); % remplacement des tab pour séparer les colonnes
fichier {i}=[nomrep{i} '.csv']; % création des noms de fichiers .csv importable dans matlab
fid=fopen(fichier {i},'w'); % ouverture des fichiers .csv
fprintf(fid,data);% écriture des fichiers .csv
fclose(fid); % fermeture des fichiers
end
%préparation du fichier excel pour enregistrement des résultats
numlignedebfichier = 2; % Numéro de ligne du fichier excl écriture des résultats
Texte={'','','','','','','','','','','',''}; % ligne blanche pour séparer les résultats de chaque pièce
range=['A1:A1'];
xlswrite([nomrep{1},'_',nomrep{nbrepiece},'.xls'],nbrepiece,'donnees',range); % écriture dans le fichier excel des résultats
% calculs avec le signal des capteurs à courant de Foucault pour chaque
% piece de la campagne
for i = 1:nbrepiece
A=Importdata(fichier {i});% importation des données des fichiers .csv
Titre=A.colheaders;% lecture du titre des colonnes |
Partager