首页 > 解决方案 > 在 python 中建模充电和供电电池

问题描述

我正在兜圈子,试图在给定负载和电源阵列的情况下对电池充电和电池使用系统进行建模。

目前,我有一系列负载和供应,这就是我想要实现的目标:

我的尝试:在将每个时间步长值转换为能量之前,我已经尝试过很多次合并一个阵列,该阵列会考虑我的负载和电源阵列之间的功率差异。给我 +--+++-+ 值等...为了获得电池的总电量,我只是使用了 np.sum() 并且效果很好。但是,我正在努力合并一个不使用 if: 语句将其锁定在该值的高端上限。

所以我觉得我正在获得一些东西的路上,但我在最后一点磕磕绊绊,因为我正在混淆试图实施然后进入其他领域的最大上限。

一如既往,非常感谢您的帮助!我希望这足够清楚!我认为一个非常基本的示例足以让我对此进行排序。基本面。

我已经上传了一个我正在处理的例子。一个负载和电源阵列,带有一个标量电池电量,我想根据每个时间步长的负载和电源之间的差异来改变它。充电和绘制。

import numpy as np 
import random 
import matplotlib.pyplot as pyplot

timebase = 1440 #Hours
t0 = 0 
ts = ts = np.arange(t0, timebase, 1) 
Battery_Charge = 38.40

load = np.array( range(timebase), dtype = float) # Just as an example of the type of array I am using 
supply = np.array( range(timebase), dtype = float) #

def battery(Total_Supp, Battery_Charge, Load):
    values = (Total_Supp - Load) * (1.00/60.00) # Energy draw / charge per unit time 
    charge = np.array( range(timebase), dtype = float ) # Charge of batteries at given unit time 
    charge_eff = 0.97

    for t in range(timebase):
        if values[t] > 0:
            charge[t] = Battery_Charge + np.sum( values[0:t-1] ) + values[t]*charge_eff
        if values [t] < 0:
            charge[t] = Battery_Charge + np.sum(values[0:t])
        if charge[t] > 38.4:
            charge[t] = charge[t-1]

    return charge

battery = (supply,Battery_Charge, load)

标签: pythonbatterybatterylevel

解决方案


推荐阅读