Main Content

getNumOutputsImpl

クラス: matlab.System

System object からの出力数

構文

num = getNumOutputsImpl(obj)

説明

num = getNumOutputsImpl(obj) は、System object™ に必要な出力数を返します。

stepImpl または outputImpl のシグネチャに varargout が含まれていない場合、System object はメソッドのシグネチャから出力数を決定 "できます"。この場合、getNumOutputsImpl メソッドを実装する必要はありません。

stepImpl または outputImpl のシグネチャに varargout が含まれている場合、クラス定義ファイルで getNumOutputsImpl メソッドを実装して出力数を決定することができます。nargoutstepImpl メソッドで使用して、オブジェクトが呼び出されたときの出力数を取得できます。

メソッドのオーサリングのヒント

  • このメソッドでは Access = protected と設定しなければなりません。

  • このメソッドでは、プロパティを変更することはできません。

  • オブジェクト プロパティからの戻り引数 num を設定する場合、そのオブジェクト プロパティに Nontunable 属性がなければなりません。

入力引数

すべて展開する

オブジェクト固有のプロパティ、状態、およびメソッドへのアクセスに使用される System object ハンドル。getNumOutputsImpl メソッドがこのオブジェクトを使用しない場合、この入力を ~ に置き換えることができます。

出力引数

すべて展開する

指定したオブジェクトからの出力数で、整数として返されます。

すべて展開する

オブジェクトから返される出力数 (この場合は 2) を指定します。

methods (Access = protected)
   function num = getNumOutputsImpl(~)
      num = 2;
   end
end

オブジェクトが出力を一切返さないことを指定します。

methods (Access = protected)
   function num = getNumOutputsImpl(~)
      num = 0;
   end
end

出力数が可変であるときにコードを生成する場合は、stepImpl メソッドで nargout を使用します。

methods (Access = protected)
   function varargout = stepImpl(~,varargin)
      for i = 1:nargout
         varargout{i} = varargin{i}+1;
      end
   end
end

バージョン履歴

R2011b で導入