Python求解常微分方程:Gekko与非标准有限差分法
1. Gekko求解常微分方程
1.1 Gekko简介
Gekko是一个Python优化套件,最初设计用于解决混合整数、非线性和微分代数方程(DAE)的动态优化问题。其默认求解器是基于内点法的IPOPT求解器,还包含APOPT、BPOPT、SNOPT和MINOS等其他求解器。状态方程的离散化通过在有限元上使用正交配置来实现,在每个有限元中,正交配置用多项式近似控制和状态变量。
1.2 初始化Gekko模型
在Python中初始化Gekko模型 m ,可使用以下两条指令:
from gekko import GEKKO
m = GEKKO(remote = False)
将参数 remote 的值设为 False ,告知Gekko将服务器设置为本地机器。
若模型 m 包含变量 x ,其下限为 xmin ,上限为 xmax ,初始值为 x0 ,则可按如下方式声明:
x = m.Var(value = x0,lb = xmin,ub = xmax)
1.3 示例:求解SIR模型
SIR模
超级会员免费看
订阅专栏 解锁全文
12

被折叠的 条评论
为什么被折叠?



