主要内容

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

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

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

这个例子展示了如何实现具有非直接馈通的延迟对象。

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

  2. 选择插入方法并实现outputImplupdateImpl方法。

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

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

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

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

相关的话题