I have to concatenate 6 .mat eeg files

10 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 EEG/MEG/ECoG 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!