I have to concatenate 6 .mat eeg files

3 views (last 30 days)
I have to concatenate six .mat files that contains EEG data. The data has 8 channels and different samples.
I want to concatenate the data column wise so that there are 8 rows for channels and the samples keep on adding column wise.

Accepted Answer

Walter Roberson
Walter Roberson on 24 Mar 2019
filenames = {'first.mat', 'second.mat', 'third.mat', 'fourth.mat', 'fifth.mat', 'sixth.mat'};
nfiles = length(filenames);
data_cell = cell(nfiles,1);
for K = 1 : nfiles
data_struct = load(filenames{K});
%we do not know the names of the variable the data is stored in.
%assume it is the first variable in the file.
fn = fieldnames(data_struct);
this_data = data_struct.(fn{1});
data_cell{K} = this_data;
end
%now put it all together into one matrix
data = vertcat(data_cell{:}) .';
  5 Comments
Walter Roberson
Walter Roberson on 24 Mar 2019
save('Concatenate.mat', 'data')
or
save Concatenate.mat data

Sign in to comment.

More Answers (0)

Categories

Find more on Biomedical Signal Processing in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!