How to collate two mat files with similar name pattern from two different sub-folders?
1 view (last 30 days)
Show older comments
Hi all,
I have a folder with subfolders containing multiple mat files that have a smiliar name pattern.

I would like to access each subfolder and collate two mat files that have similar name pattern. For example two files indicated red above both end in 'T001'. I would like to collate those two and save it as a separte file . Similalry, I would like to do the same for each pair of mat files that have similar name pattern ending . Number of mat files in each subfolder is the same and endings are the same. Can you help please?
I can list files and load them in a loop but not sure how to progress
clear all
clc
%% Specify each subfolder containing all mat files
subfolder1 = 'C:\Users\whctc4\Desktop\Data\EWWD_ID001\Processed data\Xsens Awinda MTw';
subfolder2 = 'C:\Users\whctc4\Desktop\Data\EWWD_ID001\Processed data\Xsens Dot';
%% get file names and start loading and collating files in a loop
all_Mt2files = dir(fullfile(subfolder1, '*.mat'));
all_Dotfiles = dir(fullfile(subfolder2, '*.mat'));
%% load files from subfolder 1
for k = 1:length(all_Mt2files)
F = fullfile(subfolder1,all_Mt2files(k).name);
load(F);
end
%% load files from subfolder 2
for k = 1:length(all_Dotfiles)
J = fullfile(subfolder2,all_Dotfiles(k).name);
load(J);
end
%% Collate loaded files according to name pattern
Accepted Answer
Jan
on 13 Dec 2021
Maybe you want:
all_Mt2files = dir(fullfile(subfolder1, '*.mat'));
all_Dotfiles = dir(fullfile(subfolder2, '*.mat'));
for k = 1:length(all_Mt2files)
F = fullfile(subfolder1,all_Mt2files(k).name);
TF = load(F);
J = fullfile(subfolder2,all_Dotfiles(k).name);
TJ = load(J);
T = join(TF, ZJ);
% And now?
end
What exactly is a "single mat file table 1918x230"? Do you want to save T in a MAT file?
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!