Storing data in columns not in rows

9 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

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices 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!