MATLAB スクリプトへの MATLAB Coder プロジェクトの変換
入力型を定義した後で、MATLAB® Coder™ プロジェクトを等価な MATLAB コマンドのスクリプトに変換できます。このスクリプトは構成オブジェクト内でプロジェクトを再現し、codegen
コマンドを実行します。次のことを実行できます。
プロジェクト ワークフローからコマンド ライン ワークフローに移動する。
共有可能なテキスト ファイルとしプロジェクトを保存する。
MATLAB Coder アプリまたはコマンド ライン インターフェイスを使用してプロジェクトを変換できます。
プロジェクトからスクリプトへの変換では、値クラスであるエントリポイント関数入力はサポートされません。
プロジェクトからスクリプトへの変換は、MATLAB Online™ ではサポートされていません。
MATLAB Coder アプリを使用したプロジェクトの変換
アプリのツール バーで
をクリックし、[スクリプトに変換] を選択します。
スクリプト名を指定して [保存] をクリックします。
コマンド ライン インターフェイスを使用したプロジェクトの変換
コマンド ライン インターフェイスを使用してプロジェクトをスクリプトに変換するには、coder
コマンドの -tocode
オプションを使用します。プロジェクト ファイルは検索パス上になければなりません。
たとえばプロジェクト myproject.prj
を myscript.m
という名前のスクリプトに変換するには、次のコマンドを使用します。
coder -tocode myproject -script myscript.m
coder
コマンドは、このスクリプトと同じ名前のファイルを上書きします。-script
オプションを省略すると、coder
コマンドはスクリプトをコマンド ウィンドウに書き出します。
-tocode
オプションの詳細は、coder
を参照してください。
スクリプトの実行
スクリプト内の
codegen
への引数であるエントリポイント関数が検索パス上にあることを確認してください。スクリプトを実行します。次に例を示します。
myscript
ベース ワークスペースに以下の変数が表示されます。
変数 | 対象 |
---|---|
cfg | 構成オブジェクト |
ARGS | プロジェクトにエントリポイント関数の入力がある場合、入力引数の型 |
ARG | プロジェクトに cell 配列の入力がある場合、cell 配列の要素。スクリプトは ARG を異なる cell 配列の要素に再利用できます |
GLOBALS | プロジェクトにグローバル変数がある場合、グローバル変数の型と初期値 |
cfg、ARGS、ARG および GLOBALS はスクリプトを実行した後でのみワークスペースに表示されます。構成オブジェクトのタイプはプロジェクト ファイルの設定によって決まります。
MATLAB Coder アプリのプロジェクト ファイルの設定 | コード構成オブジェクト |
ビルド タイプが MEX である。 | coder.MexCodeConfig |
ビルド タイプがスタティック ライブラリ、ダイナミック リンク ライブラリ、または実行可能ファイルである。 以下のいずれかの条件に該当する。
| coder.CodeConfig |
ビルド タイプがスタティック ライブラリ、ダイナミック リンク ライブラリ、または実行可能ファイルである。 Embedded Coder ライセンスがある。[すべての設定] タブの [Embedded Coder 機能の使用] を [ | coder.EmbeddedCodeConfig |
構成オブジェクト cfg
からプロジェクトに設定をインポートできます。ビルド構成設定の共有を参照してください。
固定小数点変換を含むプロジェクトでは、プロジェクトからスクリプトへの変換によって、固定小数点変換用と固定小数点コード生成用の 2 つのスクリプトが生成されます。例については、固定小数点変換プロジェクトの MATLAB スクリプトへの変換を参照してください。
追加の MAT ファイルを生成する特殊なケース
プロジェクト ファイル myproject.prj
をスクリプト myscript.m
に変換するとします。場合により、現在の作業フォルダーにコード ジェネレーターによって追加の MAT ファイルが生成されることがあります。そのような場合、生成されたスクリプトはその MAT ファイルを読み込み、その格納値を使用して、生成されるコードの定数入力または定数のグローバル変数が定義されます。
この動作は、以下のすべての条件が満たされたときに発生します。
プロジェクト ファイル
myproject.prj
が、codegen
コマンドを等価な MATLAB Coder プロジェクトに変換することによって生成された。codegen コマンドの等価な MATLAB Coder プロジェクトへの変換を参照してください。元の
codegen
コマンドにおいてcoder.Constant
オブジェクトを使用して定数入力または定数のグローバル変数が定義されている。これら 1 つ以上の
coder.Constant
オブジェクトが、構造体、cell 配列、値クラス、または大きな (一定のしきい値より大きい) 数値定数である値から作成された。生成される MAT ファイルには、これらの値が格納されます。
上記のすべての条件が満たされていても、補助の MAT ファイルの作成を回避することはできます。スクリプトを生成する前に、プロジェクト ファイル myproject.prj
を変更します。
MATLAB Coder アプリで
myproject.prj
を開きます。[入力の型を定義] ページを開きます。
入力またはグローバル変数の定数値をアプリに直接入力します。このアクションにより、変更した
myproject.prj
が自動的に保存されます。