我使用系统识别工具来获得一些数据的状态空间(2阶)和过程模型(2个输入,1个输出,2阶传递函数+延迟)。这些模型在系统识别模型输出窗口 [图 1] 中显示出非常适合实验数据,但是当我使用 simulink 中的 idmodel 模块来模拟相同的数据时,它看起来与工具上的完全不同。
我对两个拟合模型都使用了完全相同的框图。状态空间拟合模型的结果与系统识别工具[图2-3]一致,而过程模型则完全不同[图4-5]。
状态空间模型仅适用于某些实验条件,而过程模型非常适合我的所有实验,这就是我尝试使用它的原因。下面的图片仅对应 1 个实验。
我认为问题在于,当使用流程模型而不是状态空间模型时,我无法为 idmodel 块设置初始条件。我可以使用 获得流程模型的初始条件findstates(model, data)
,但我不知道如何应用它们。关于如何在 simulink 中为已识别的传递函数/过程模型设置初始条件的任何提示?也许没有 simulink 的可能解决方法?我对任何解决方案或想法持开放态度。
谢谢你。
图 3. 具有状态空间模型的 idmodel 模块:初始条件参数可用