Main Content

유한한 소스 객체 정의하기

이 예제에서는 파일에서 특정 횟수의 단계 또는 특정 횟수의 읽기를 수행하는 System object™를 정의하는 방법을 보여줍니다.

FiniteSource 클래스를 사용하고 소스의 끝 지정하기

  1. 유한 소스 클래스에서 서브클래스를 생성합니다.

     classdef RunTwice < matlab.System & ...
        matlab.system.mixin.FiniteSource
    
  2. 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

참고 항목

관련 항목