离散和动态系统 Matlab

Discrete and Dynamic system Matlab

我正在使用递归最小二乘法 (RLS) 来识别动态系统的系统参数。 RLS算法是在离散时间内实现的,而真实系统是连续的。实际上这很容易做到,但我怎样才能同时模拟这两个呢?顺序解决方案没有帮助,因为我想使用 RLS 估计来影响系统输入。

如果我做对了,内置事件触发只能停止集成。因此,我必须在 RLS 算法的每个采样点停止,然后求解样本之间的 ode。 -> 这是如何在 Simulink 中实现的?

我找到的唯一真正的解决方案是实现我自己的具有自适应步长的 RK45。它旨在采用离散和连续系统(ode 和差分方程)并以自适应步长求解,直到必须采用新样本。这种方法就像一个魅力 - 慢速动态只有离散点被采样足够小的采样时间和快速动态产生小的积分步长,正如预期的那样!

此外,实施工作比预期的要少得多,并且与 matlabs ode45 相比令人惊讶地好,即。更低的计算成本、更高的精度、更少的离散跳跃后的振荡!