首次达到最高温度值时,我需要模拟从充电模式切换到放电模式。
我的Matlab代码有一系列if循环,这些if语句的条件(w = 1或w = 2)与时间有关。我读了一个定义的时间表,它在24小时内查看充电/放电周期,并且每小时定义一次条件。
我已经能够从充电切换到放电,一旦温度下降到规定的最大值以下,充电周期就会重新开始。但是,我不希望在温度第一次达到规定的最大值后24小时循环的剩余时间内充电。
有没有解决方案,可能是一些包含“until”函数的循环?
for ii = 1:M-1
if w == 1
Temp(ii) = Temp(ii-1)+X;
elseif w == 2
Temp(ii) = Temp(ii-1)-Y;
end
end
答案 0 :(得分:0)
您需要一个变量来存储您在当前24小时内达到最高温度:
temperatureMax = getTemperatureMax();
for day = startDay:endDay
temperatureMaxReached = false;
for hour = 0:23
if temperatureMaxReached
discharge();
else
temperature = getTemperature(day, hour);
if temperature > temperatureMax
temperatureMaxReached = true;
discharge();
else
charge();
end
end
end
end