主要内容

在反馈循环中使用系统对象

如果算法需要通过System对象™处理非直接馈通数据,请使用isInputDirectFeedthroughImploutputImpl,updateImpl方法。这些方法通过System对象处理非直接馈通数据。

大多数System对象使用直接馈通,其中需要对象的输入来生成输出。对于这些直接馈通对象,一步方法计算输出并更新状态值。然而,对于非直接馈通,对象的输出取决于内部状态,而不是直接取决于输入。输入或输入的子集用于更新对象状态。对于这些对象,计算输出与更新状态值是分开的。这使您可以在反馈循环中使用对象作为反馈元素。

这个例子展示了如何使用非直接馈通实现一个延迟对象。

  1. 在MATLAB®中,选择>系统对象>基本

  2. 选择插入方法并实现outputImpl而且updateImpl方法。

    outputImpl根据状态和/或输入计算输出。updateImpl更新输入的状态值。

    在实现outputImpl方法,不访问直接馈通标志为false的System对象输入。

  3. 如果“系统”对象支持代码生成且不使用传播,金宝app则“Simulink金宝app®可以自动推断直接馈通设置从系统对象的MATLAB代码。但是,如果System对象不支持代码生成,则默认为金宝appisInputDirectFeedthroughImpl方法返回false(没有直接馈通)。在这种情况下,重写此方法以指定非直接馈通行为。

非直接馈通的处理改变了软件在Simulink引擎上下文中调用System对象方法的方式。金宝app

相关的话题