Я строю модель, которая будет брать бензобак, кумулятивно снимать ежедневное использование, а затем записывать количество повторных поставок, необходимое за период времени (продиктованный триггером, который активируется, когда он падает ниже заданного c уровень).
Я, однако, привязываю себя к петлям, и я уверен, что есть более простой способ сделать это.
Проблема, с которой я столкнулся (если я использую приведенный ниже пример, а не код), заключается в следующем: я не могу взять использование из резервуара в совокупности, но таким образом, чтобы он мог вернуться обратно к полному емкость, когда он попадает в триггер пополнения.
Я пытался использовать np.cumsum, но когда он пополняется до <6, он удаляет 5, а не 1. </p>
пример того, чего я хочу достичь :
tank = 10, 9, 8, 7, 6, 10, 9, 8, 7, 6, 10
usage = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
resupply = 2
Это моя текущая попытка кода:
f_resupply_trigger = 6000
f_tank_volume = 10000
f_tank_current = np.full((91,1),f_tank_volume)
f_resupplies = 0
#Calculate the daily usage rate per type
f_flow_o = f_plan_v * flow_rate[0]
f_flow_o2p = f_plan_v * flow_rate[1]
f_flow_v = f_plan_v * flow_rate[2]
f_flow_CV = np.array([f_flow_o + f_flow_o2p + f_plan_v])
f_flow_total_CV = np.cumsum(f_flow_CV, dtype=float)
#calcualate what is in the tank by taking the daily consumption from the tank
for i in f_flow_total_CV:
for y in f_tank_current:
a = y - i
y = a
y = y+1
i = i + 1
# predict the resupply requirement
for i in f_tank_current:
if i < f_resupply_trigger:
f_tank_current = f_tank_volume
f_resupplies + 1
i = i + 1