How to load multiple files and calculate value for each file (with same formula)
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello,
In case that I have the separate 123 mat files (bearing1_1_1.mat to bearing 1_1_123.mat) and I would like to calculate RMS and Crest Factor of each file (i.e., RMS for bearing1_1_1 = xxxxx, CF for bearing1_1_1 = xxxxx). How to write the code?
PS. I already have code for RMS and CF calculation but I only want how to calculate them (all 123 file) in one execution.
Because now I have to do it manually file by file and it consums lot of times (i.e., run bearing1_1_1.mat and go to next data)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/976635/image.png)
Thanks for your kind supports
1 Kommentar
Antworten (1)
Mathieu NOE
am 25 Apr. 2022
hello
this is the code (principle) to load all the mat files in a loop
% use the structure returned by DIR:
P = cd; % working directory
S = dir(fullfile(P, 'bearing*.mat'));
for k = 1:numel(S)
S(k).folder % fyi
S(k).name % fyi
F = fullfile(S(k).folder, S(k).name);
%S(k).data = load(F); % or READTABLE or whatever.
S(k).data = load(F);
end
% % structure S: it contains all of your file data and the corresponding filenames
% % For example, the 2nd filename and its data:
% S(2).name
% S(2).data
1 Kommentar
Mathieu NOE
am 25 Apr. 2022
maybe you want to have the files sorted correctly and matlab is not very good for that
so in case the files are not processed in the "right" sorted manner , you may need this excellent FEX submission :
the code is now :
% use the structure returned by DIR:
P = cd; % working directory
% S = dir(fullfile(P, 'bearing*.mat'));
S = dir(fullfile(P, 'Data*.mat'));
S = natsortfiles(S); % sort folders / file names into natural order
% (download FEX : https://fr.mathworks.com/matlabcentral/fileexchange/47434-natural-order-filename-sort)
for k = 1:numel(S)
S(k).folder % fyi
S(k).name % fyi
F = fullfile(S(k).folder, S(k).name);
%S(k).data = load(F); % or READTABLE or whatever.
S(k).data = load(F);
end
% % structure S: it contains all of your file data and the corresponding filenames
% % For example, the 2nd filename and its data:
% S(2).name
% S(2).data
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!