В этом примере показано, как определить системный object™, который выполняет определенное количество шагов или определенное количество операций чтения из файла.
FiniteSource Класс и укажите конец источникаПодкласс из класса конечного источника.
classdef RunTwice < matlab.System & ... matlab.system.mixin.FiniteSource
Укажите конец источника с помощью isDoneImpl способ. В этом примере источник имеет две итерации.
methods (Access = protected) function bDone = isDoneImpl(obj) bDone = obj.NumSteps==2 end
classdef RunTwice < matlab.System & ... matlab.system.mixin.FiniteSource % RunTwice System object that runs exactly two times % properties (Access = private) NumSteps end methods (Access = protected) function resetImpl(obj) obj.NumSteps = 0; end function y = stepImpl(obj) if ~obj.isDone() obj.NumSteps = obj.NumSteps + 1; y = obj.NumSteps; else y = 0; end end function bDone = isDoneImpl(obj) bDone = obj.NumSteps==2; end end end
matlab.system.mixin.FiniteSource