Extracting a variable from a series of files contained inside a folder

1 次查看(过去 30 天)
The problem is simple: I have a folder which contains 10 .mat files, each of them with a series of variables. What I need to do is to create a code which automatically selects one specific variable (always the same) from each file of said folder, then storing it in a separate matrix which I can use later.
Does anybody have a solution to this?

采纳的回答

Voss
Voss 2024-2-13
% the folder which contains 10 .mat files
file_path = '.';
% the name of the variable to load from each .mat file
variable_name = 'X';
% get file info. note that the files are not in any particular order. if
% you want a specific order, you'll have to take care to do that.
files = dir(fullfile(file_path,'*.mat'));
N = numel(files);
% load each X into a struct array S:
file_names = fullfile({files.folder},{files.name});
S = struct(variable_name,cell(1,N));
for ii = 1:N
S(ii) = load(file_names{ii},variable_name);
end
% if you want to combine the X from each mat file into a single array
X = cat(3,S.(variable_name));
% otherwise, you can just access them through S

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Workspace Variables and MAT-Files 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by