ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

基本的な System Object の定義

この例では、数値を 1 つずつインクリメントする基本的な System object™ を作成する方法を示します。

クラス定義ファイルには、System object の定義に最低限必要な要素が含まれています。

クラス定義ファイルの作成

  1. System object の定義を格納する、AddOne.m という名前の MATLAB® ファイルを作成します。

    edit AddOne.m
  2. matlab.System からのオブジェクトをサブクラス化します。次の行をファイルの最初の行に挿入します。

    classdef AddOne < matlab.System
    
  3. stepImpl メソッドを追加します。このメソッドには、オブジェクトで step メソッドが呼び出されたときに実行されるアルゴリズムが含まれています。stepImpl メソッドは内部メソッドであり、直接の呼び出しや実行は行われないため、このメソッドのアクセスは常に protected に設定します。

    静的メソッドを除くすべてのメソッドでは、System object のハンドルを最初の入力引数として想定しています。System object のハンドルには任意の名前を使用できます。

    この例では、オブジェクト ハンドルを渡す代わりに「~」を使用して、オブジェクト ハンドルが関数で使用されていないことを示します。オブジェクト ハンドルの代わりに「~」を使用することによって、未使用の変数に関する警告の発生が回避されます。

    既定の設定では、入力と出力の数はいずれも 1 です。入力と出力の数を変更するには、それぞれ getNumInputsImpl メソッドと getNumOutputsImpl メソッドを使用します。

    methods (Access = protected)
       function y = stepImpl(~,x)
          y = x + 1;
       end
    end
    

    メモ:   手動でクラス定義ファイルを作成せずに、[新規作成][System object] メニューでオプションを使用してテンプレートを開くことができます。[標準] テンプレートでは、単純な System object テンプレートが開きます。[詳細設定] テンプレートには、バックアップや復元など、より高度な System object 機能が含まれています。[Simulink 拡張] テンプレートには、Simulink® の MATLAB System ブロックで使用される追加の System object 仕様が含まれています。このテンプレート ファイルをガイドラインとして使用して編集し、独自の System object を作成できます。

基本的な System Object のクラス定義ファイルの作成

classdef AddOne < matlab.System
% ADDONE Compute an output value one greater than the input value
  
  % All methods occur inside a methods declaration.
  % The stepImpl method has protected access
  methods (Access = protected)
    
    function y = stepImpl(~,x)
      y = x + 1;
    end
  end
end

関連する例

この情報は役に立ちましたか?