2017-02-16 39 views
0

我正在使用recusive least squares(RLS)来识别动态系统的系统参数。 RLS算法在离散时间实现,而实际系统是连续的。在实践中,这很容易完成,但我怎样才能一起模拟这两个?连续的解决方案并没有帮助,因为我想使用RLS估计来影响系统输入。离散和动态系统Matlab

内置的事件触发只能停止集成,如果我得到了正确的。因此,我不得不停止在RLS算法的每个采样点,然后解决样本之间的问题。 - >这是如何在Simulink中实现的?

回答

0

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

此外,实现方式比预期的方式少得多,并且与matlabs ode45(即,更低的计算成本,更高的精确度,更少的振动,在离散跳跃之后!