writing code so that for loop does not overwrite

2 views (last 30 days)
Cside
Cside on 1 Dec 2019
Edited: Cside on 1 Dec 2019
Hi, I currently have this code and would like to NOT have the for loop overwrite with every t so that there will be 11 selectiven. How can i rewrite the problem line to make sure the for loop does not overwrite and produce 11 selectiven matrices? Thank you! :)
for t = 43:53
C= A(:,:,t);
for i = 1:8
D = find(sessions_pfc==i);
trialsize = size(trials(i).val);
B = ix_all(i);
B2 = cell2mat(B);
[locations,~] = find(B2);
anss = 0;
for n = D(1,:):D(end)
p= anova1(C(n,1:trialsize(:,2)), locations', 'off');
anss=anss+(p<0.05);
selectiven (n,:) = p<0.05
end
end
neuronno(t) = find (selectiven); %%problem line
end

Answers (1)

KALYAN ACHARJYA
KALYAN ACHARJYA on 1 Dec 2019
Edited: KALYAN ACHARJYA on 1 Dec 2019
#Edited
neuronno(t) = find (selectiven);
As the t indices starts from 43 till 53. Here what about the previous indexing? Better to choose other variable name to avoid zeros or [ ] at initials-
%Drfine k=1 before first for loop
neuronno(k) = find (selectiven);
k=k+1;
Still problem, let me kow?
  5 Comments
Cside
Cside on 1 Dec 2019
every selectiven will be 226x1. However, find(selectiven) will give a different answer with each iteration as selectiven is a logical matrix, yielding an ans from 40-80.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by