isInputDirectFeedthroughImpl

Прямое проходное состояние входа

Синтаксис

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

Описание

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

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

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

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

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

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

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

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

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

Детали во время выполнения

isInputDirectFeedthroughImpl вызван блоком MATLAB System.

Метод, создающий советы

  • Необходимо установить Access = protected для этого метода.

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

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

развернуть все

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

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

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

развернуть все

Логическое значение, любой true или false указание, является ли вход прямым сквозным соединением. Количество выходных флагов должно совпадать с количеством входных параметров к Системному объекту (входные параметры к stepImploutputImpl, или 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