Используйте Gekko для подбора числового решения ОДУ для данных.
Привет всем! Мне было интересно, если это возможно, чтобы соответствовать коэффициентам ODE с помощью GEKKO. Я безуспешно пытался повторить приведенный здесь пример .
. Это то, что я придумал (но он ошибочен - и я должен упомянуть, что мои математические навыки, к сожалению, довольно плохие):
import numpy as np
from gekko import GEKKO
tspan = [0, 0.1, 0.2, 0.4, 0.8, 1]
Ca_data = [2.0081, 1.5512, 1.1903, 0.7160, 0.2562, 0.1495]
m = GEKKO(remote=False)
t = m.Param(value=tspan)
m.time = t
Ca_m = m.Param(value=Ca_data)
Ca = m.Var()
k = m.FV(value=1.3)
k.STATUS = 1
m.Equation( Ca.dt() == -k * Ca)
m.Obj( ((Ca-Ca_m)**2)/Ca_m )
m.options.IMODE = 2
m.solve(disp=True)
print(k.value[0]) #2.58893455 is the solution
Может кто-нибудь помочь мне здесь? Большое спасибо, Мартин
(Это мой первый пост здесь - пожалуйста, будьте осторожны, если я сделал что-то неподходящее.)