このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
エントリポイント関数は,コードを生成する最上位のMATLAB®関数です。エントリポイント関数に入力がある場合,墨西哥人関数を生成するには入力のプロパティを指定しなければなりません。この場合,生成された墨西哥人関数は,コード生成中に指定したエントリポイント関数のシグネチャでのみ動作します。
エントリポイント関数で複数のシグネチャがサポートされている場合は,シグネチャごとに個別の墨西哥人関数を生成する代わりに,1つの墨西哥人関数を生成できます。生成された墨西哥人関数は,コード生成中に指定した複数のシグネチャで動作します。
複数シグネチャの墨西哥人機能を使用すると,以下のことができます。
エントリポイント関数で指定した複数のシグネチャをサポートする1つの墨西哥人関数を生成する。
エントリポイント関数のシグネチャごとに個別の墨西哥人関数を生成して使用するためのオーバーヘッドを削減する。
生成された墨西哥人関数でMATLAB関数のような動作を実現する。
複数シグネチャの墨西哥人関数を生成するために,次の関数myAdd
を考えてみます。
函数y = myAdd (a, b)% # codegeny = a + b;结束
myAdd
から3つの異なるデータ型双
、int8
および向量的双打
で動作する墨西哥人関数を生成するとします。3つの引数を{1,2}
、int8 {int8 (2), (3)}
および{1:10, 1:10}
として指定します。
myAdd
関数のコードを生成するには,MATLABコマンドラインで次のcodegen
コマンドを実行します。
codegen配置:墨西哥人myAdd.marg游戏{1,2}arg游戏int8 {int8 (2), (3)}arg游戏{1:10, 1:10}报告
codegen
コマンドで指定したシグネチャに対して1つの墨西哥人関数myAdd_mex
が生成されます。
コマンドラインで,生成された墨西哥人関数myAdd_mex
を呼び出します。myAdd_mex
に渡す値がcodegen
コマンドで指定した入力プロパティと一致することを確認します。
myAdd_mex(3、4)
ans = 7
int8 myAdd_mex (int8 (5) (6))
Ans = int8
myAdd_mex (1:10, 2:11)
Ans = 3 5 7 9 11 13 15 17 19 21
これらの入力値を使用してMATLAB関数myAdd
を実行すると,同じ出力が生成されます。これらのテストケースでは,myAdd
とmyAdd_mex
が同じ動作になることを検証します。
複数シグネチャの墨西哥人の生成では以下はサポートされません。
複数のエントリポイントの墨西哥人関数。
fiaccel
(定点设计师)-float2fixed
の構成。
プログラムによる入力パラメーターの定義。詳細については,MATLABファイル内でのプログラムによる入力プロパティの定義を参照してください。