MATLAB Answers

Need helping in setting a for loop for the below code

4 views (last 30 days)
Kevin Akash Rajasekaran
Kevin Akash Rajasekaran on 5 May 2021
Answered: David Hill on 5 May 2021
Hey all! So I'm implementing a code which essentially runs through the length of condIds (which is 1X1070 double) as follows. For further context to what the variable refer to, condIds refer to the image file used for a particular trial. I'm retrieving all possible trials in a bunch of files for one single condId (denoted by myTrials).
for ii = 1:length(condIds)
myTrials = find(condIds == condIds(ii)); % all trials matching the condition on trial ii
end
When I run the following code, it only loads myTrials for the last condId i.e 1070. WHy does it not iterate through each condId? Thanks in advance!

Answers (1)

David Hill
David Hill on 5 May 2021
u=unique(condIds,'stable');%not sure if you only want to go through the unique entries; otherwise, you will have duplicates
for ii = 1:length(u)
myTrials{ii} = find(condIds == u(ii)); %need to index into cell array
end

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by