Main Content

モデル参照の離散サンプル時間継承の設定

System object™ に対してモデル参照の離散サンプル時間継承を許可しないようにします。この例で定義された System object には入力が 1 つあり、既定ではサンプル時間継承が許可されています。既定の設定をオーバーライドして継承を許可しないようにするため、この例のクラス定義ファイルには allowModelReferenceDiscreteSampleTimeInheritanceImpl メソッドが含まれており、出力が false に設定されています。

methods (Access = protected)
   function flag = ...
       allowModelReferenceDiscreteSampleTimeInheritanceImpl(obj)
     flag = false;
   end
end

完全なクラス定義ファイルのメソッドを表示します。

classdef MyCounter < matlab.System
  
   % MyCounter Count values
     
    properties
       Threshold = 1;
    end

    properties (DiscreteState)
       Count
    end
 
    methods (Static, Access = protected)
      function header = getHeaderImpl
         header = matlab.system.display.Header('MyCounter',...
           'Title','My Enhanced Counter',...
           'Text', 'This counter is an enhanced version.');
      end
    end

    methods (Access = protected)
       function flag = ...
            allowModelReferenceDiscreteSampleTimeInheritanceImpl(obj)
          flag = false
       end
       function setupImpl(obj,u)
          obj.Count = 0;
       end
       function y = stepImpl(obj,u)
          if (u > obj.Threshold)
             obj.Count = obj.Count + 1;
          end
          y = obj.Count;
       end
       function resetImpl(obj)
          obj.Count = 0;
       end
    end
end

参考

関数

クラス