Main Content

matlab.system.mixin.Nondirect Class

Namespace: matlab.system.mixin

Indicate that System object does not have direct feedthrough

The matlab.system.mixin.Nondirect class will be removed in a future release. For more information, see matlab.system.mixin.Nondirect class will be removed.

Description

Use the matlab.system.mixin.Nondirect class to:

  • Implement separate output and update methods for System objects that do not have direct feedthrough

  • Enable support for using a System object™ in a feedback loop in a Simulink® model.

A System object has direct feedthrough when calculating the value for one or more of the System object outputs requires the value of one or more of the System object inputs. When a System object has direct feedthrough, running the System object calculates output values and updates state values.

A System object does not have direct feedthrough when the System object requires none of the System object input values to calculate any of the System object output values. In this case, the output values depend only on state values. The input values determine the state values. When a System object does not have direct feedthrough, the process for calculating output values is separate from the process for updating state values.

  • outputImpl — Method for calculating output values for System object that does not have direct feedthrough

  • updateImpl — Method for calculating state values for System object that does not have direct feedthrough

When you subclass from the Nondirect class and implement the stepImpl method in your System object class definition file, the software issues an error.

The software can determine whether a System object has direct feedthrough in one of several ways, depending on the situation:

  • System object supports code generation and does not inherit from the Propagates class — The software infers whether the System object has direct feedthrough from the System object code.

  • System object supports code generation and inherits from the Propagates class — The software uses the value returned by the isInputDirectFeedthroughImpl method to determine whether the System object has direct feedthrough.

  • System object does not support code generation — The software uses the value returned by the isInputDirectFeedthroughImpl method to determine whether the System object has direct feedthrough.

When you subclass from the Nondirect class, also subclass from the matlab.System class.

classdef ObjectName < matlab.System & matlab.system.mixin.Nondirect

The matlab.system.mixin.Nondirect class is a handle class.

Class Attributes

HandleCompatible
true

For information on class attributes, see Class Attributes.

Version History

Introduced in R2013b

expand all