Main Content

MATLAB スクリプトへの MATLAB Coder プロジェクトの変換

入力型を定義した後で、MATLAB® Coder™ プロジェクトを等価な MATLAB コマンドのスクリプトに変換できます。このスクリプトは構成オブジェクト内でプロジェクトを再現し、codegen コマンドを実行します。次のことが可能です。

  • プロジェクト ワークフローからコマンド ライン ワークフローに移動する。

  • 共有可能なテキスト ファイルとしプロジェクトを保存する。

MATLAB Coder アプリまたはコマンド ライン インターフェイスを使用してプロジェクトを変換できます。

プロジェクトからスクリプトへの変換では、値クラスであるエントリポイント関数入力はサポートされません。

プロジェクトからスクリプトへの変換は、MATLAB Online™ ではサポートされていません。

MATLAB Coder アプリを使用したプロジェクトの変換

  1. アプリのツール バーで をクリックし、[スクリプトに変換] を選択します。

  2. スクリプト名を指定して [保存] をクリックします。

コマンド ライン インターフェイスを使用したプロジェクトの変換

コマンド ライン インターフェイスを使用してプロジェクトをスクリプトに変換するには、coder コマンドの -tocode オプションを使用します。プロジェクト ファイルは検索パス上になければなりません。

たとえばプロジェクト myproject.prjmyscript.m という名前のスクリプトに変換するには、次のコマンドを使用します。

coder -tocode myproject -script myscript.m

coder コマンドは、このスクリプトと同じ名前のファイルを上書きします。-script オプションを省略すると、coder コマンドはスクリプトをコマンド ウィンドウに書き出します。

-tocode オプションの詳細は、coder を参照してください。

スクリプトの実行

  1. スクリプト内の codegen への引数であるエントリポイント関数が検索パス上にあることを確認してください。

  2. スクリプトを実行します。次に例を示します。

     myscript

ベース ワークスペースに以下の変数が表示されます。

変数対象
cfg構成オブジェクト
ARGSプロジェクトにエントリポイント関数の入力がある場合、入力引数の型
ARGプロジェクトに cell 配列の入力がある場合、cell 配列の要素。スクリプトは ARG を異なる cell 配列の要素に再利用できます
GLOBALSプロジェクトにグローバル変数がある場合、グローバル変数の型と初期値

cfg、ARGS、ARG および GLOBALS はスクリプトを実行した後でのみワークスペースに表示されます。構成オブジェクトのタイプはプロジェクト ファイルの設定によって決まります。

MATLAB Coder アプリのプロジェクト ファイルの設定コード構成オブジェクト

ビルド タイプが MEX である。

coder.MexCodeConfig

ビルド タイプがスタティック ライブラリ、ダイナミック リンク ライブラリ、または実行可能ファイルである。

以下のいずれかの条件に該当する。

  • Embedded Coder® のライセンスを持っていない。

  • Embedded Coder ライセンスがある。[すべての設定] タブの [Embedded Coder 機能の使用] を [No] に設定している。

coder.CodeConfig

ビルド タイプがスタティック ライブラリ、ダイナミック リンク ライブラリ、または実行可能ファイルである。

Embedded Coder ライセンスがある。[すべての設定] タブの [Embedded Coder 機能の使用] を [Yes] に設定している。

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 が自動的に保存されます。

参考

|

関連するトピック