У меня есть файл данных, который содержит значение INPUT (как показано в коде ниже) каждого дня (всего 365 дней). И время делится на 365 интервалов:
tnOut = 365
tOut = np.linspace(0, 100, tnOut)
nOut = np.shape(tOut)[0]
Функция выглядит следующим образом:
def dYdt(t, Y):
return np.array([ INPUT - a*(Y-b)/(c-d)])
ODE = spint.solve_ivp(dYdt, t_span, Y0, t_eval=tOut, vectorized=True,
method='RK45', rtol=1e-5)
Но я не знаю, как передать INPUT этой функции. Поскольку значение INPUT не может быть выражено как функция времени, это результаты наблюдения.
****** data **********
дата ВВОД 2012-06-14 0,0000 2012-06-15 0,0075 2012-06-16 0,0024 2012-06-17 0,0000 2012-06-18 0.0107 ... 2019-12-27 0,0000
Я пытался использовать это:
def input(t):
i = 0
for dtt in tOut:
if t == dtt:
return df['input'][i]
i = i+1
Но он показывает "неподдерживаемые типы операндов для -: 'NoneType' и" float "". И я не думаю, что правильно передавать данные INPUT таким способом. Любая помощь будет потрясающей. Большое спасибо !!!