Main Content

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

参考

クラス

関数