Array indices must be positive integers or logical values
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Fabian Haslwanter
el 16 de En. de 2023
Comentada: Walter Roberson
el 16 de En. de 2023
So i have the following Constraints for a heat storage (ws) as part of my yalmip optimization problem:
Constraints=[]
for t = 1:24
Constraints = [Constraints, dE(t) <= dEmax_WS, E_ws(t) <= Emax_ws, E_ws(t) == E_ws(t-1)+dE(t), E_ws(0) == 10];
end
When running, i get an indexing error:
"Error using sdpvar/subsref (line 161) -Array indices must be positive integers or logical values."
I assume the problem is the last equation, which should determine the current state of charge by adding the charge rate to the charge of the previous time step.
I know one way to change this is to start the loop at t=2 and define E_ws(1)=10. Is there another smoother way which lets me keep the equation in the same loop as the "regular" constraints?
Thank you!
0 comentarios
Respuesta aceptada
KSSV
el 16 de En. de 2023
This line:
E_ws(0) == 10
gives you error. MATLAB indexing starts from 1. It cannot be zero. Think of it.
4 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Solver Outputs and Iterative Display 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!