loading multiple mat files from a directory one by one, and running a script for them
79 ビュー (過去 30 日間)
古いコメントを表示
Hi,
I need to execute the following steps in matlab:
- Load a file (from a directory containing multiple files of interest). The order wouldn't matter. I just need to do it for all files, but one by one.
- Run a predefined script on that mat file.
- Save a variable
- Delete all variables and load the next mat file with its new variables
- Run the same process for the next mat file in the directory
0 件のコメント
回答 (2 件)
KSSV
2019 年 5 月 30 日
matfiles = dir('*.mat') ;
N = length(matfiles) ;
iwant = cell(N,1) ; % to save output
for i = 1:N
load(matfiles(i).name)
% do what you want, let out put be out
iwant{i} = out
end
Image Analyst
2022 年 4 月 10 日
編集済み: Image Analyst
2022 年 4 月 10 日
See the FAQ:
There are code samples in the FAQ to do it two different ways. In short,
matFiles = dir('*.mat') ;
numFiles = length(matFiles) ;
for k = 1 : numFiles
% Get file name of one mat file.
thisFileName = fullfile(pwd, matFiles(k).name);
fprintf('Processing "%s".\n', thisFileName);
% Load mat file variables. Any prior ones will be overwritten.
s = load(thisFileName) % This is a structure with all the variables on it as fields.
% Now "Run a predefined script on that mat file."
output(k) = PredefinedFunction(s);
end
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Introduction to Installation and Licensing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!