exponenta event banner

isInputDirectFeedthroughImpl

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

Состояние прямого прохождения входного сигнала

Синтаксис

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

Описание

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

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

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

Создание кода

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

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

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

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

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

Сведения о времени выполнения

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

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

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

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

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

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

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

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

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

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

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