MATLAB编码器アプリを使用したmex関数の生成
MATLAB编码器アプリを使用したmex関数の生成のワ,クフロ,
手順 | 作業 | 詳細 |
---|---|---|
1 | MATLAB®编码器™プロジェクトをセットアップします。 |
MATLAB编码器プロジェクトの設定 |
2 | ビルド構成パラメ,タ,を指定します。[ビルドタ电子邮箱プ]を |
プロジェクト設定の構成 |
3. | プロジェクトをビルドします。 |
MATLAB编码器プロジェクトのビルド |
MATLAB编码器アプリは,MATLAB在线™でサポ,トされていません。MATLAB在线でmex関数を生成するには,codegen
コマンドを使用します。
MATLAB编码器アプリを使用したmex関数の生成
この例ではMATLAB编码器アプリを使用してmatlabコドからmex関数を生成する方法にいて説明します。
エントリポ@ @ント関数の作成
ロカルの書き込み可能なフォルダで,以下のコドを含むmatlabファルmcadd.m
を作成します。
函数Y = McAdd (u,v)% # codegenY = u + v;
テストファ@ @ルの作成
同じロ,カルの書き込み可能なフォルダ,で,サンプル入力と共にmcadd
を呼び出すmatlabファ计算器ル,mcadd_test.m
を作成します。サンプル入力はint16
型のスカラ,です。
函数Y = McAdd_test Y = McAdd (int16(2), int16(3));
MATLAB编码器アプリを開く
Matlabルストリップの[アプリ]タブの[コ,ド生成]の下で,MATLAB编码器アプリア@ @コンをクリックします。
[ソスファルの選択]ペ,ジが開きます。
ソスファルの指定
[ソスファルの選択]ペジで,エントリポント関数の名前
mcadd
を入力または選択します。既定の名前
mcadd.prj
でプロジェクトが作成されます。[次へ]をクリックして[入力の型を定義]ステップに進みます。アプリによって関数のコーディングの問題とコード生成の準備状態が解析されます。問題が検出された場合は、[コ,ド生成の準備状態の確認]ペ,ジが開くので,ここで問題を確認して修正できます。この例では問題は検出されないので,[入力の型を定義]ペ,ジが表示されます。
入力の型の定義
Cでは静的なデ,タ型が使用されるため,MATLAB编码器はmatlabファesc esc escル時に判別しなければなりません。すべてのエントリポ@ @ント関数の入力のプロパティを指定しなければなりません。MATLAB编码器は,エントリポイント関数の入力のプロパティからMATLABファイル内のすべての変数のプロパティを推定できます。
MATLAB编码器がu
およびv
の型を自動的に定義するために使用するテストファ@ @ルmcadd_test.m
を指定します。
テストファ@ @ル
mcadd_test.m
を入力または選択します。[入力の型の自動定義]をクリックします。
テストファ@ @ル
mcadd_test.m
はサンプル入力と共にエントリポ@ @ント関数mcadd
を呼び出します。MATLAB编码器は入力u
およびv
がint16 (1 x1)
であると推定します。[次へ]をクリックして[実行時の問題の確認]ステップに進みます。
実行時の問題の確認
[実行時の問題の確認]ステップでは,エントリポイント関数からの墨西哥人ファイルの生成,墨西哥人関数の実行および問題の報告が行われます。このステップはオプションです。ただし,このステップを実行することをお勧めします。生成されたcコドでの診断が難しいランタムエラを検出して修正することができます。
[実行時の問題の確認]ダ@ @アログボックスを開くために[問題の確認]矢印をクリックします。
入力の型の定義に使用したテストファ@ @ル
mcadd_test
が,アプリによって[テストファaapl .ル]フィ.ルドに入力されます。[問題の確認]をクリックします。
アプリによりmex関数が生成されます。
mcadd
の呼び出しをmex関数の呼び出しに置き換えてテストファ超市ルが実行されます。墨西哥関数の生成または実行中に問題が検出された場合は、警告およびエラー メッセージが表示されます。これらのメッセージをクリックして問題のあるコードに移動し、問題を修正します。この例ではアプリは問題を検出しません。[次へ]をクリックして[コ,ド生成]ステップに進みます。
墨西哥関数の生成
[生成]ダ@ @アログボックスを開くために[生成]矢印をクリックします。
[生成]ダ@ @アログボックスで[ビルドタ电子邮箱プ]を
(墨西哥人)
に,[言語]を[c] [c]プロジェクトの他のビルド構成設定には既定値を使用します。[生成]をクリックします。
コ,ド生成に成功したことが示されます。ペジの左側にmatlabのソスファルと生成された出力ファルが表示されます。[変数]タブにmatlabソスの変数にいての情報が表示されます。[タ,ゲットのビルドログ]タブにコンパ▪▪ラの警告とエラ▪▪を含むビルドログが表示されます。
MATLAB编码器はプロジェクトをビルドし,既定の設定では,現在のフォルダ,にmex関数
mcadd_mex
を作成します。また,MATLAB编码器は,codegen /墨西哥人/ mcadd
というサブフォルダに他のサポトファルを生成します。MATLAB编码器は,matlab関数の名前を生成ファ。Mexファaapl . exeル用にプラットフォ。命名規則を参照してください。コ,ド生成レポ,トを表示するには,[レポ,トの表示]をクリックします。
[次へ]をクリックして[ワ,クフロ,の完了]ペ,ジを開きます。
[ワ,クフロ,の完了]ペ,ジの確認
[ワ,クフロ,の完了]ペ,ジには,コ,ド生成に成功したことが示されます。このペ,ジには,プロジェクトのサマリ,と生成された出力へのリンクが表示されます。
プロジェクト設定の構成
[プロジェクトの設定]ダ▪▪▪アログボックスを開くには,次の手順に従います。
[生成]ダ@ @アログボックスを開くために[生成]矢印をクリックします。
[詳細設定]をクリックします。
プロジェクトの設定を変更するには,変更する設定を含むタブをクリックします。たとえば,[整数オ,バ,フロ,で飽和]設定を変更するには,[速度]タブをクリックします。
Mex関数は,ラ。出力タ@ @プを[mex関数]
から[ソ,スコ,ド]
、[スタティックラ电子邮箱ブラリ]
、[ダepナミックラepブラリ]
または[実行可能ファ电子邮箱ル]
に変更する場合は,これらの設定を確認してください。
特定の構成パラメ,タ,は,mexコ,ドとスタンドアロンコ,ドの両方の生成に関連します。出力タ@ @プが[mex関数]
のときに,このようなパラメーターのいずれかを有効にし,その同じ設定をC / c++コードの生成に使用する場合,[c / c++スタティックラescブラリ]
、[c / c++ダc / c++ダc / c++ダc / c++
および[c / c++実行ファescル]
に対して再度有効にしなければなりません。
参考
MATLAB编码器プロジェクトのビルド
指定した設定でプロジェクトをビルドするには,[コ,ド生成]ペジで[生成]をクリックします。MATLAB编码器アプリがプロジェクトをビルドするときに,ビルドの進行状況が表示されます。ビルドが完了すると,ビルドの詳細情報が[タ,ゲットのビルドログ]タブに表示されます。
コード生成レポートが有効になっている場合またはビルドエラーが発生した場合には,レポートが生成されます。レポトには最新のビルドにいての詳細情報と,レポトへのリンクが含まれています。
レポ,トを表示するには,[レポ,トの表示]リンクをクリックします。このレポートにはMATLABコードと生成されたC / c++ファイルへのリンクのほか,MATLABコード内の変数についてコンパイル時の型情報が提示されます。ビルドエラ,が発生した場合,レポ,トにはエラ,と警告が表示されます。