storing for loop answer into matrix

1 vue (au cours des 30 derniers jours)
Cside
Cside le 28 Oct 2019
Commenté : Bhaskar R le 28 Oct 2019
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

Réponse acceptée

Bhaskar R
Bhaskar R le 28 Oct 2019
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
  1 commentaire
Bhaskar R
Bhaskar R le 28 Oct 2019
Answer of the Daniel M is recommended for thorough understanding of the indexing in the loop iteration

Connectez-vous pour commenter.

Plus de réponses (1)

Daniel M
Daniel M le 28 Oct 2019
It would often be much faster for you to just look up the documentation than to post a question here and wait for an answer. I suggest learning to use the documentation as your first course of action when you don't know something.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by