MATLAB: Storing for loop answer into matrix

cell arraycodefor loopMATLABstore

Hi, i have this code and it gives me 8 answers of matrix "locations". Is there a way I can write another line of code to store the loop answers into a matrix? The end result should be a 1 x 8 cell array.
Thanks!
for i = 1:8
fefinsessionn = find(sessions_fef==i); %%extract the fef neurons that appear in the selected trials
trialsize = size(trials(i).val); %%number of trials in the selected session (i only want columns?)
A = dataset_fef_sac_all(fefinsessionn,:); %%selected rows/neurons in mean fef dataset
A(:,(trialsize(:,2)+1):621) = [];
B = ix_all(i); %%based off i, to select the respective ix, to use {ix .... ix_s8}, create ixall matrix
B2 = cell2mat(B);
[locations,~] = find(B2);%%location of target in respective ix
end

Best Answer

Yes you can write by adding the loop variavle value to index of the locations.
If the result of the find(B2) is same length for each iteration then you can assign directly loop variable index to the locations(ii) by initializing empty array in the begining of the loop. If the result length is different each time you can use locations as cell array as shown.
locations = cell(1, 8)
for i = 1:8
fefinsessionn = find(sessions_fef==i); %%extract the fef neurons that appear in the selected trials
trialsize = size(trials(i).val); %%number of trials in the selected session (i only want columns?)
A = dataset_fef_sac_all(fefinsessionn,:); %%selected rows/neurons in mean fef dataset
A(:,(trialsize(:,2)+1):621) = [];
B = ix_all(i); %%based off i, to select the respective ix, to use {ix .... ix_s8}, create ixall matrix
B2 = cell2mat(B);
[locations{i},~] = find(B2);%%location of target in respective ix
end
To access data from locations use notation as locations{1}, locations{2}...locations{8} for each loop data