MATLAB スクリプトへの MATLAB Coder プロジェクトの変換
MATLAB® Coder™ プロジェクトを等価な MATLAB コマンドのスクリプトに変換できます。作成されるスクリプトは、MATLAB Coder プロジェクトの定義を使用して、構成オブジェクトを作成し、入力の型を定義し、codegen コマンドを構成します。MATLAB Coder プロジェクトをスクリプトに変換することで、次のことが可能です。
アプリの設定とコマンドをコマンド ラインで複製する。
共有可能なテキスト ファイルとしプロジェクトを保存する。
プロジェクトのスクリプトへの変換
プロジェクトをスクリプトに変換するには、次のいずれかの方法を使用します。
MATLAB Coder アプリのツールストリップで [エクスポート] ボタンをクリックして [スクリプトに変換] を選択します。
コマンド ラインで
-tocodeオプションを指定してcoderコマンドを使用します。プロジェクト ファイルが作業ディレクトリにない場合はファイル パスを指定する必要があります。
スクリプトの実行
作成されたスクリプトを実行する前に、スクリプトで使用されるエントリポイント関数が検索パス上にあることを確認します。その後、コマンド ラインでスクリプトを呼び出します。
次の表に、スクリプトによってベース ワークスペースに作成される変数を示します。
| 変数名 | 説明 |
|---|---|
cfg | 構成オブジェクト。 |
inputTypes | 各エントリ ポイントの入力引数を格納する cell 配列 (プロジェクトにエントリポイント関数の入力がある場合)。 |
childTypes | cell 配列の要素、構造体のフィールド、およびクラスのプロパティの型を格納する構造体 (プロジェクトにそれらの入力の型がある場合)。スクリプトは childTpes を異なる集約の入力に再利用できます。 |
globalVariables | グローバル変数の型と初期値を格納する cell 配列 (プロジェクトにグローバル変数がある場合)。 |
スクリプトで作成される構成オブジェクトのタイプは、MATLAB Coder プロジェクトのビルド タイプと構成パラメーター [Embedded Coder 機能の使用] によって決まります。
| ビルド タイプ | パラメーター設定 | 作成される構成オブジェクト |
|---|---|---|
| MEX | 任意 | coder.MexCodeConfig |
| スタンドアロン (スタティック ライブラリ、ダイナミック ライブラリ、または実行可能ファイル) | [Embedded Coder 機能の使用] チェック ボックスがオン | coder.EmbeddedCodeConfig |
| スタンドアロン (スタティック ライブラリ、ダイナミック ライブラリ、または実行可能ファイル) | [Embedded Coder 機能の使用] チェック ボックスがオフ | coder.CodeConfig |
構成オブジェクト cfg からプロジェクトに設定をインポートできます。ビルド構成設定の共有を参照してください。
追加の MAT ファイルを生成する特殊なケース
プロジェクト ファイル myproject.coderprj をスクリプト myscript.m に変換するとします。特定の状況において、エクスポートされるスクリプトと同じフォルダーにコード ジェネレーターによって追加の MAT ファイルが生成されることがあります。そのような場合、生成されたスクリプトはその MAT ファイルを読み込み、その格納値を使用して生成コードの定数入力や定数のグローバル変数を定義します。
この動作は、以下のすべての条件が満たされたときに発生します。
プロジェクト ファイル
myproject.coderprjが、codegenコマンドを等価な MATLAB Coder プロジェクトに変換することによって生成された。codegen コマンドの等価な MATLAB Coder プロジェクトへの変換を参照してください。元の
codegenコマンドで、グローバル変数が使用されているか、coder.Constantオブジェクトを使用して定数入力が定義されている。Coder プロジェクト ファイルの変数を再作成するスクリプトをコード ジェネレーターで作成できない (現実的でないか不可能であるため)。この場合、生成される MAT ファイルにそれらの値が格納されます。
上記のすべての条件に該当する場合でも、補助の MAT ファイルの作成を回避することはできます。スクリプトを生成する前に、プロジェクト ファイルを MATLAB Coder アプリで開きます。[エントリ ポイント] ペインで、入力引数またはグローバル変数の定数値を指定します。その後にスクリプトを生成します。