主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

生成するエントリポイント関数の入力引数または出力引数の数の指定

生成されたエントリポイント関数内の入力引数または出力引数の数を制御できます。1つのMATLAB®関数から,異なるシグネチャをもつエントリポイント関数を生成できます。

入力引数の数の制御

エントリポイント関数が变长度输入宗量を使用する場合,生成された関数で使用する引数のプロパティを指定します。

次の関数を考えてみます。

函数[x, y] = myops(varargin)% # codegen如果(nargin > 1) x = varargin{1} + varargin{2};Y = varargin{1} * varargin{2};其他的x =变长度输入宗量{1};y =变长度输入宗量{1};结束

取得する引数が1つのみの関数を生成するには,arg游戏で1つの引数を指定します。

codegenmyopsarg游戏{3}报告

MATLAB编码器™アプリを使用する場合は,次を行います。

  1. (入力の型を定義]ページで(入力またはグローバルの型を直接入力します]をクリックします。

  2. 引数を追加するには,変数テーブルで,变长度输入宗量の右側にあるをクリックします。

  3. 各引数のプロパティを指定します。

codegenを使用してコードを生成する場合は,MATLAB関数で变长度输入宗量を使用しない場合の入力引数の数も制御できます。

次の関数を考えてみます。

函数[x, y] = myops(a,b)% # codegen如果(nargin > 1) x = a + b;Y = a * b;其他的x = a;y = -;结束

取得する引数が1つのみの関数を生成するには,arg游戏で1つの引数を指定します。

codegenmyopsarg游戏{3}报告

出力引数の数の制御

codegenを使用してコードを生成する場合は,-nargoutオプションを使用して出力引数の数を指定できます。

次の関数を考えてみます。

函数[x, y] = myops(a,b)% # codegenX = a + b;Y = a * b;结束

1つの出力引数をもつ関数を生成します。

codegenmyopsarg游戏{2 3}-nargout1报告

-nargoutを使用して,varargoutを使用するエントリポイント関数の出力引数の数を指定することもできます。

varargoutを使用するようにmyopsを書き換えます。

函数varargout = myops (a, b)% # codegenVarargout {1} = a + b;Varargout {2} = a * b;结束

1つの出力引数に対応するコードを生成します。

codegenmyopsarg游戏{2 3}-nargout1报告

MATLAB编码器アプリを使用している場合,関数がvarargoutを返す時の出力数を指定するには,または関数で定義される出力よりも少ない数の出力を生成するには,次のようにします。

  1. (入力の型を定義]ページで,入力の型を手動で定義するか,(入力の型の自動定義]を使用して定義します。

  2. [出力数]で,出力の数を選択します。

関連するトピック