ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

基本的な 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
    

    メモ:   クラス定義ファイルを手作業で作成する代わりに、[File][New][System object] を使用して、サンプルの 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

参考

| | |

関連する例

詳細

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