定义有限源对象
此示例说明如何定义一个从文件执行特定步数或特定读取次数的 System 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