Index in position 1 is invalid. Array indices must be positive integers or logical values.

2 views (last 30 days)
ctx= 0:5
choices= 1:3
bi= 1:18
n= 0
z= 0
for i= 1:length(ctx)
trialsInContext=find(cellfun(@(x)(x.contexts== n), trialrec));
n= n+1
for j= 1:length(choices)
sum(cellfun(@(x)(x.choice== j), {trialrec{trialsInContext}}))
length(trialsInContext)
numChoicesThisBandit = sum(cellfun(@(x)(x.choice== j), {trialrec{trialsInContext}}));
numChoicesThisBandit/length(trialsInContext)
z= z+1
bar(bi, pc(ctx(i), choices(j)));
bi= bi+1;
hold on
end
end

Answers (1)

Kevin Phung
Kevin Phung on 22 Feb 2019
this line may be the cause:
bar(bi, pc(ctx(i), choices(j)));
because for i = 1, ctx(1) = 0.
you cant index pc at the 0th value.

Categories

Find more on Loops and Conditional Statements 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!