getOutputSizeImpl

Размеры выходных портов

Синтаксис

[sz_1,sz_2,...,sz_n] = getOutputSizeImpl(obj)

Описание

[sz_1,sz_2,...,sz_n] = getOutputSizeImpl(obj) возвращает размер каждого выходного порта. Количество выходных параметров должно совпадать со значением, возвращенным от getNumOutputs метод или количество выходных аргументов перечислены в stepImpl метод.

Если ваша Система object™ имеет только один вход и один выход, и вы хотите, чтобы размеры ввода и вывода были тем же самым, вы не должны реализовывать этот метод. В этом случае getOutputSizeImpl принимает, что размеры ввода и вывода являются тем же самым, и возвращает размер входа. Для входных параметров переменного размера в MATLAB® размер варьируется каждый раз, когда вы запускаете свой объект. Для входных параметров переменного размера в Simulink® выходной размер является максимальным входным размером.

Необходимо реализовать getOutputSizeImpl метод, чтобы задать выходной размер, если:

  • Ваш Системный объект имеет больше чем один ввод или вывод

  • Вы нуждаетесь в выходе и вводите размеры, чтобы отличаться.

    Если выходной размер отличается от входного размера, необходимо также использовать propagatedInputSize метод

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

Во время компиляции модели Simulink и распространения, блок MATLAB System вызывает getOutputSizeImpl метод, чтобы определить выходной размер.

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

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

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

  • В этом методе вы не можете изменить свойства.

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

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

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

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

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

Вектор, содержащий размер каждого выходного порта.

Примеры

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

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

methods (Access = protected)
   function sz_1 = getOutputSizeImpl(obj)
      sz_1 = [1 1];
   end 
end

Задайте в своем файле определения класса размеры нескольких Системного объекта выходные параметры.

methods (Access = protected)
   function [sz_1,sz_2] = getOutputSizeImpl(obj) 
      sz_1 = propagatedInputSize(obj,1); 
      sz_2 = [1 1]; 
   end
 end 

Задайте в своем файле определения класса размер Системного объекта выход, когда это будет зависеть от распространенного входного размера.

methods (Access = protected)
   function varargout = getOutputSizeImpl(obj) 
      varargout{1} = propagatedInputSize(obj,1); 
      if obj.HasSecondOutput
         varargout{2} = [1 1];
      end
   end
end 
Введенный в R2013b