If statement indexing in a for loop

4 views (last 30 days)
Calum Mackenzie
Calum Mackenzie on 15 Mar 2021
Commented: Cris LaPierre on 16 Mar 2021
I have made a for loop which models energy going being stored every hour. Three times a day energy is removed from storage. so far so good. I want to be able to check if the energy stored reaches a minimum value in the hour before energy is removed and if it does not then to add suffcient energy to reach the minimum value and record how much has been added. I'm trying to use an IF statement to interact with three columns in my matrix but am unable to make it work, it seems within the for loop my matrix becomes a vector? How can I isolate my three columns?
  5 Comments
Calum Mackenzie
Calum Mackenzie on 15 Mar 2021
Hopefully this better explains what I'm trying to do
Cris LaPierre
Cris LaPierre on 15 Mar 2021
Save your variables to a mat file and attache the mat file using the paperclip icon.

Sign in to comment.

Answers (1)

Cris LaPierre
Cris LaPierre on 15 Mar 2021
I would do this without a for loop.
  • Compute min-columns 7,12,16
  • Set any values <0 to 0 (you don't have to add to these rows to reach the minimum)
  • Add the result to the previous hour (column?)
  2 Comments
Calum Mackenzie
Calum Mackenzie on 16 Mar 2021
I don't think this will work since the energy stored is dependant on the previous hour. So if I add 'top up' energy the first time there is a shortfall, that extra energy will be carried forwards to subsequent hours and likley reduce and may eliminate subsiquent shortfalls. Thats why i think it needs to be done sequentially in a loop?
Cris LaPierre
Cris LaPierre on 16 Mar 2021
Ok, so add it to columns (7:end) the first time, etc.
You are going to understand the problem better than any of us. We can only operate on the information you've shared.

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!