How to save data at each iteration in a cell array?

Hi,
I have saved data sests where i have two variables of 3-D, A and B. I want to load it for each subject and save it in a cell array, as the variables have the same name for each subject. But the size is varied across each subject.
How can i do that.?
I am doing following:
for subject= 1:2
resultFileName = sprintf('Sub0%i_Epochs.mat',subject); % generate result filename
load(resultFileName)
A_Epochs{:,:,:}= epochs([1: size(epochs,1)/2],6,:);
B_Epochs{:,:,:}= epochs([size(epochs,1)/2+1:end],6,:);
end

3 Comments

It is not entirely clear to me what you mean. Do you mean something like this?
N_subjects=2;
A_Epochs=cell(1,N_subjects);
B_Epochs=cell(1,N_subjects);
for subject= 1:N_subjects
resultFileName = sprintf('Sub0%i_Epochs.mat',subject); % generate result filename
S=load(resultFileName);
A_Epochs{subject}=S.A;
B_Epochs{subject}=S.B;
end
Thanks for you reply Rik.
I got it.
i need to take 'Mean' of cell array of A_Epochs and B_Epochs separately. I am new to MATLAb so i don't know how to do that.?
Can you help please.?
This question was continued here.

Sign in to comment.

 Accepted Answer

A_Epochs{subject}= epochs([1: size(epochs,1)/2],6,:);
B_Epochs{subject}= epochs([size(epochs,1)/2+1:end],6,:);

3 Comments

your epochs variable does not have multiple columns.
N_subjects=2;
A_Epochs=cell(1,N_subjects);
B_Epochs=cell(1,N_subjects);
for subject= 1:N_subjects
resultFileName = sprintf('Sub0%i_Epochs.mat',subject); % generate result filename
S=load(resultFileName);
A_Epochs{subject} = S.epochs(1:end/2,6,:);
B_Epochs{subject} = S.epochs(end/2+1:end,6,:);
end
Thanks for you reply Walter.
I got it.
i need to take 'Mean' of cell array of A_Epochs and B_Epochs separately. I am new to MATLAb so i don't know how to do that.?
Can you help please.?

Sign in to comment.

More Answers (0)

Asked:

on 17 Apr 2020

Commented:

Rik
on 17 Apr 2020

Community Treasure Hunt

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

Start Hunting!