For Each Subsystem のサポートの有効化
Simulink® For Each Subsystem で System object™ を使用することで、For Each Subsystem のサポートを有効にします。クラス定義ファイルに supportsMultipleInstanceImpl
メソッドを含めます。このメソッドは、System object を MATLAB System ブロックを経由して Simulink で使用するときにのみ適用します。
supportsMultipleInstanceImpl
メソッドを使用して true
に戻し、System object が Simulink の For Each Subsystem で複数の呼び出しをサポートするように指定します。
methods (Access = protected) function flag = supportsMultipleInstanceImpl(obj) flag = true; end end
完全なクラス定義ファイルのメソッドを表示します。
classdef RandSeed < matlab.System % RANDSEED Random noise with seed for use in For Each subsystem properties (DiscreteState) count; end properties (Nontunable) seed = 20; useSeed (1,1) logical = false; end methods (Access = protected) function y = stepImpl(obj,u1) % Initial use after reset/setup % and use the seed if (obj.useSeed && ~obj.count) rng(obj.seed); end obj.count = obj.count + 1; [m,n] = size(u1); % Uses default rng seed y = rand(m,n) + u1; end function setupImpl(obj) obj.count = 0; end function resetImpl(obj) obj.count = 0; end function flag = supportsMultipleInstanceImpl(obj) flag = obj.useSeed; end end end