首页 > 解决方案 > 如何处理 GEKKO 中的离散时间系统?

问题描述

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

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

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)

标签: gekko

解决方案


离散状态空间模型是构建模型的首选方式。您还可以将方程转换为离散时间序列形式或连续状态空间形式。这些都是等价形式。编写模型的另一种方法是使用IMODE=2(代数方程),但这要复杂得多。这是一个MIMO 识别的例子,我们用 IMODE=2 估计 ARX 参数。我推荐该m.state_space模型并将其与IMODE>=4.

这是一个钟摆状态空间模型示例

钟摆状态空间

飞行控制状态空间模型

飞行控制

它们都使用连续状态空间模型,但方法类似于您的应用程序所需的方法。


推荐阅读