Define Finite Source Objects - MATLAB & Simulink (original) (raw)
Main Content
This example shows how to define a System objectâ„¢ that performs a specific number of steps or specific number of reads from a file.
- Use the FiniteSource Class and Specify End of the Source
- Complete Class Definition File with Finite Source
Use the FiniteSource
Class and Specify End of the Source
- Subclass from finite source class.
classdef RunTwice < matlab.System & ...
matlab.system.mixin.FiniteSource - Specify the end of the source with the
isDoneImpl
method. In this example, the source has two iterations.
methods (Access = protected)
function bDone = isDoneImpl(obj)
bDone = obj.NumSteps==2
end
Complete Class Definition File with Finite Source
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
See Also
matlab.system.mixin.FiniteSource