Array indices must be positive integers or logical values
1 view (last 30 days)
Show older comments
Fabian Haslwanter
on 16 Jan 2023
Commented: Walter Roberson
on 16 Jan 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 Comments
Accepted Answer
KSSV
on 16 Jan 2023
This line:
E_ws(0) == 10
gives you error. MATLAB indexing starts from 1. It cannot be zero. Think of it.
4 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!