isInputDirectFeedthroughImpl

Класс: matlab. Система

Состояние прямой передачи входа

Синтаксис

[flag1,...,flagN] = isInputDirectFeedthroughImpl(obj)
[flag1,...,flagN] = isInputDirectFeedthroughImpl(obj,input,input2,...)

Описание

[flag1,...,flagN] = isInputDirectFeedthroughImpl(obj) определяет, является ли каждый вход прямым исходным входом. Если прямое сквозное соединение true, выход зависит от входа в каждый момент времени.

[flag1,...,flagN] = isInputDirectFeedthroughImpl(obj,input,input2,...) использует одну или несколько входных спецификаций системного объекта, чтобы определить, имеют ли входы прямое сквозное соединение.

Если вы не включаете isInputDirectFeedthroughImpl метод в файле определения класса System object™, все входы приняты прямыми сквозными соединениями.

Генерация кода

Следующие случаи описывают, когда системные объекты в Simulink® генерация кода использует прямое или ненаправленное сквозное соединение.

Поддержка генерации кода системного объектаИспользует Impl распространения методРезультат генерации кода Simulink
YN

Simulink автоматически выводит настройки прямой передачи из кода системного объекта.

YYSimulink не выводит настройки прямой передачи. Вместо этого используется значение, возвращенное isInputDirectFeedthroughImpl способ.
N

Значения по умолчанию isInputDirectFeedthroughImpl метод возвращает false, указывая, что прямое сквозное соединение не включено. Чтобы переопределить поведение по умолчанию, реализуйте isInputDirectFeedthroughImpl метод в файле определения класса.

Подробные сведения о выполнении

isInputDirectFeedthroughImpl вызывается блоком MATLAB System (Simulink).

Советы по разработке методов

  • Вы должны задать Access = protected для этого метода.

  • Вы не можете изменять, реализовывать или получать доступ к настраиваемым свойствам в этом методе.

Входные параметры

расширить все

Указатель на системный объект используется для доступа к свойствам, состояниям и методам, характерным для объекта. Если ваш isInputDirectFeedthroughImpl метод не использует объект, можно заменить этот вход на ~.

Входы в алгоритм (stepImpl) Системный объект. Список входов должен совпадать с порядком входов в stepImpl подпись.

Выходные аргументы

расширить все

Логическое значение либо true или false указывает, является ли вход прямым сквозным соединением. Количество выхода флагов должно совпадать с количеством входов для Системного объекта (входы - stepImpl, outputImpl, или updateImpl).

Примеры

расширить все

Использование isInputDirectFeedthroughImpl в файле определения класса для маркировки всех входов как ненаправленных с сквозным соединением.

methods (Access = protected)
   function flag = isInputDirectFeedthroughImpl(~)
      flag = false;
   end
end

Полное определение класса

classdef intDelaySysObj < matlab.System 
   % intDelaySysObj Delay input by specified number of samples.

   properties
      InitialOutput = 0;
   end
   properties (Nontunable)
      NumDelays = 1;
   end
   properties (DiscreteState)
      PreviousInput;
   end

   methods (Access = protected)
      function validatePropertiesImpl(obj)
         if ((numel(obj.NumDelays)>1) || (obj.NumDelays <= 0))
            error('Number of delays must be > 0 scalar value.');
         end
         if (numel(obj.InitialOutput)>1)
            error('Initial Output must be scalar value.');
         end
      end

      function setupImpl(obj)
         obj.PreviousInput = ones(1,obj.NumDelays)*obj.InitialOutput;
      end
      
      function resetImpl(obj)
         obj.PreviousInput = ones(1,obj.NumDelays)*obj.InitialOutput;
      end
      
      function [y] = outputImpl(obj,~)
         y = obj.PreviousInput(end);
      end
      function updateImpl(obj, u)
         obj.PreviousInput = [u obj.PreviousInput(1:end-1)]; 
      end
      function flag = isInputDirectFeedthroughImpl(~)
         flag = false;
      end
   end
end 
Введенный в R2013b