GEKKO如何处理离散时间系统?

时间:2019-10-25 18:17:35

标签: gekko

我正在处理一个采样时间为300s的离散时间系统。

我的问题是如何表达状态方程或输出等式

x(k+1)=A*x(k)+B*u(k)
y(k)=C*x(k)

其中x(k)是状态,y(k)是输出。我拥有A,B,C矩阵的所有值。

我在网页https://apmonitor.com/wiki/index.php/Apps/DiscreteStateSpace上找到了有关离散时间系统的一些信息

我想知道是否存在除状态方程之外的另一种表达方式

x,y,u = m.state_space(A,B,C,D=None,discrete=True)

1 个答案:

答案 0 :(得分:2)

离散状态空间模型是摆放模型的首选方式。您还可以将方程式转换为discrete time series form或连续状态空间形式。这些都是等效形式。编写模型的另一种方法是使用IMODE=2(代数方程),但这要复杂得多。这是example of MIMO identification,我们在其中估算IMODE = 2的ARX参数。我建议使用m.state_space模型并将其与IMODE>=4一起使用。

这里是pendulum state space model example

pendulum state space

和一个flight control state space model

flight control

这两种方法都使用连续状态空间模型,但是方法与您的应用程序所需的方法相似。