【发布时间】:2020-03-09 18:38:35
【问题描述】:
使用 Gekko 为数据拟合数值 ODE 解。
大家好! 我想知道,是否可以使用 GEKKO 拟合 ODE 的系数。 我尝试复制 example given here 失败。
这就是我想出的(但有缺陷——我也许应该提到我的数学技能很差):
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
有人可以帮我吗? 非常感谢你, 马丁
(这是我在这里的第一篇文章——如果我做了不恰当的事情,请保持温和。)
【问题讨论】:
标签: gekko