Index in position 2 is invalid. Array indices must be positive integers or logical values.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi. Im a newb. Im struggling to figure this part out. From what I can see, none of my indexes are negative. How can I fix this?
for iter=J:-1:1 % loop over
iter;
for indY=1:dimY
V(:, indY)=interp1(K, V(:, indY), K_prime, 'linear', 'extrap');
end
for ik=1:dimK % loop over all current cake sizes
for ik2=1:dimK
c=K(ik)*(1+r)+Y(iter)-K(ik2);
if c>0
U(ik, Y(iter), K(ik))=((c)^(1-eta)-1)/(1-eta)+beta*transY(indY, :).*(V(ik2, :)');
else
U(ik2)=-1e10;
end
end
[V(ik, iter), ind]=max(U); % optimizing over size of next period cake
A(ik, iter)=K(ind);
A_ind(ik, iter)=ind;
C(ik, iter)=K(ik)*(1+r)+Y(iter)-K(ind);
end
end
Im assuming the line I have bolded is the issue, but Im not entirely sure.
Thank you for your help!
0 Kommentare
Antworten (2)
Star Strider
am 22 Sep. 2020
My guess is that the problem is using ‘Y(iter)’ and ‘K(ik)’ as indices in that assignment. They may not be integers greater than 0, or logical values. All the other array references appear to be correct
0 Kommentare
Image Analyst
am 22 Sep. 2020
A thorough explanation of the error is given in the FAQ: https://matlab.fandom.com/wiki/FAQ#.22Subscript_indices_must_either_be_real_positive_integers_or_logicals..22
0 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!