Пакет: matlab.system.mixin
Непрямой проходной класс mixin
matlab.system.mixin.Nondirect
класс, который использует output
и update
методы, чтобы обработать непрямые проходные данные через Систему object™.
Для Системных объектов, которые используют прямое сквозное соединение, вход объекта необходим, чтобы сгенерировать выход в то время. Для этих прямых проходных объектов, запуская Системный объект вычисляет выход и обновляет значения состояния. Для непрямого сквозного соединения, однако, выход объекта зависит только от внутренних состояний в то время. Входные параметры используются, чтобы обновить объектные состояния. Для этих объектов, вычисляя выход с outputImpl
разделяется от обновления значений состояния с updateImpl
. Если вы используете matlab.system.mixin.Nondirect
mixin и включает stepImpl
метод в вашем файле определения класса, ошибка происходит. В этом случае необходимо включать updateImpl
и outputImpl
методы вместо этого.
Следующие случаи описывают, когда Системные объекты в Simulink® используют прямое или непрямое сквозное соединение.
Системный объект поддерживает генерацию кода и не наследовался Propagates
mixin — Simulink автоматически выводит прямые проходные настройки из кода Системного объекта.
Системный объект поддерживает генерацию кода и наследовался Propagates
mixin — Simulink автоматически не выводит прямые проходные настройки. Вместо этого это использует значение, возвращенное isInputDirectFeedthroughImpl
метод.
Системный объект не поддерживает генерацию кода — Значение по умолчанию isInputDirectFeedthroughImpl
метод возвращает false, указывая, что прямое сквозное соединение не включено. Чтобы заменить поведение по умолчанию, реализуйте isInputDirectFeedthroughImpl
метод в вашем файле определения класса.
Используйте Nondirect
mixin, чтобы позволить Системному объекту, который будет использоваться в обратной связи Simulink. Объект задержки является примером непрямого проходного объекта.
Чтобы использовать этот mixin, необходимо разделить на подклассы от этого класса в дополнение к разделению на подклассы от matlab.System
базовый класс. Введите следующий синтаксис как первую линию вашего файла определения класса, где ObjectName
имя вашего объекта:
classdef ObjectName < matlab.system & matlab.system.mixin.Nondirect