Storing data in columns not in rows

15 views (last 30 days)
Hey! I creating this loop to store the data in a matrix. However, the individual values of the participants in one colum. I want each of the values stored in each colum seperately but I dont know how to do it... Thanks
% Define initials of my subjects
subs = { 'P01' 'P02' 'P04' 'P06' 'P07' 'P09' 'P10' 'P11' 'P13' 'P14' 'P17' 'P18' 'P19' 'P20' 'P21' 'P22' 'P24' 'P25' 'P26'};
% Get the lenght of the array with my subjects
length_subs = size(subs,2);
% Define columns
rewCol = 5;
timeCol = 46;
load(sprintf('expResEye_P01_AllB.mat', char(subs(1, sub))))
sub_data = configEyeAll{1,6}.resMatCor
% Create empty arrays
all_subs_data = [];
% Here, we load the data of each subjects in "subs" array
for sub = 1:length_subs
load(sprintf('expResEye_%s_AllB.mat', char(subs(1, sub))))
sub_data = configEyeAll{1,6}.resMatCor;
vector_cor = sub_data(:,46)
indiv_data = [vector_cor]
all_subs_data = [indiv_data;all_subs_data];
end

Accepted Answer

Mathieu NOE
Mathieu NOE on 3 Nov 2022
hello
why not use a structure or a table ?
it's much appropriate when dealing with variable size data sets
% Define initials of my subjects
subs = { 'P01' 'P02' 'P04' 'P06' 'P07' 'P09' 'P10' 'P11' 'P13' 'P14' 'P17' 'P18' 'P19' 'P20' 'P21' 'P22' 'P24' 'P25' 'P26'};
% Get the lenght of the array with my subjects
length_subs = size(subs,2);
% structure
for ci = 1:length_subs
S(ci).name = subs{ci};
S(ci).data = rand(5+3*ci,1);
end
  5 Comments
Oliver Steiner
Oliver Steiner on 1 Feb 2023
I am very sorry for the late reply. But it worked like this. So thx!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!