getOutputSizeImpl

Класс: matlab.system.mixin. Распространяет
Пакет: matlab.system.mixin

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

Синтаксис

[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 для этого метода.

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

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

obj

Указатель системного объекта

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

sz_1,sz_2,...

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

Примеры

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

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

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 
Была ли эта тема полезной?