Index in position 2 is invalid. Array indices must be positive integers or logical values.
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuestas (2)
Star Strider
el 22 de Sept. de 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 comentarios
Image Analyst
el 22 de Sept. de 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 comentarios
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!