If statement indexing in a for loop

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 Commenti

Share your code.
restored = transpose(reshape(stored,24,92));
reavlesuse = transpose(reshape(avlesuse,24,92));
topupstored = zeros(92,24);
for i = 2:numel(restored);
if topupstored(i) % is in columb 7,12 or 16
% if topupstored(i) < min then find min - topupstored(i) and add to topupstored(i)
% else
% else
topupstored(i) = restored(i-1) + reavlesuse(i);
end
topupstored(i) = max(min(restored(i), ub), lb);
end
Sorry not sure how to upload vairables, I've added the comments to try and express what I want to achieve.
Hopefully this better explains what I'm trying to do
Save your variables to a mat file and attache the mat file using the paperclip icon.

Accedi per commentare.

Risposte (1)

Cris LaPierre
Cris LaPierre il 15 Mar 2021

0 voti

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 Commenti

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?
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.

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Prodotti

Release

R2020b

Richiesto:

il 15 Mar 2021

Commentato:

il 16 Mar 2021

Community Treasure Hunt

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

Start Hunting!

Translated by