如果我有一个参数在 GEKKO 的时间 0 处更改值,它实际上会在 0 处或下一个数据点处更改吗?

If I have a parameter that changes of value at time 0 in GEKKO , will it actually change at 0 or at the next data point?

我有一个 GEKKO 模型来估计参数,我有一个定义如下的参数:

    step = [0 if z<0 else 1 for z in m.time]
    m_param = m.Param(step)

但是,我的数组 m.time 不包含 0,即它可能是 [-20, 30, 60]。所以我想知道 m_param 是否会实际更改时间 0 或时间 30(下一个数据点)

的值

m.time=[-20,30,60]m_param的值是[0,1,1]。这会导致 t=30 处发生变化,它对应于 m.time 中的时间值。您需要在零处包含一个时间点,以便在该点发生切换。

m.time = [-20,0,30,60]
step = [0 if z<0 else 1 for z in m.time]
m_param = m.Param(step)