0

很抱歉标题中的单词选择很尴尬。

问题是:我有一个具体的模型,它有一个连续的集合变量来表示时间和一个非常简单的 ode,其中一个变量的导数,我们称之为 dadt,等于其他两个不依赖于的变量 b 和 c 之间的差a (换句话说,a 只是 b 和 c 的差乘以时间)。不幸的是,该程序似乎向后应用了积分,这意味着如果在 time=20s 时 dadt 是 20,那么 a 在 0s 和 20s 之间增加了 20*dadt。这样,微分方程约束并不真正适用于 time=0s,因此使优化变得无用。是这样打算的还是我在此过程中犯了一个错误?我应该添加 Lagrange-Radau 搭配。是不是这种搭配的标准方式来解读融合的方向,意思是“

谢谢。

4

1 回答 1

0

您可以使用 ContinuousSet 上的 next(i) 和 prev(i) 方法来获取相邻点。例如,

Model.A[model.t.next(i)] == Model.B[i]

警告:只有在应用离散化后声明约束时,这才会始终如一

于 2017-03-10T18:35:13.410 回答