メインコンテンツ

MATLAB Coder アプリでのグローバル変数の定義

C/C++ コードを生成する前に、MATLAB® コードで使用する各グローバル変数の型と初期値を定義する必要があります。コード生成時に MATLAB Coder™ アプリを使用してグローバル変数が定義されていない場合、アプリは MATLAB グローバル ワークスペース内で変数を探します。変数が存在しない場合、アプリはエラーを返します。

グローバル変数の追加と名前変更

MATLAB Coder アプリでグローバル変数を追加するには、[エントリ ポイント] ペインで [新規エントリ ポイント]、[新規グローバル] をクリックします。[エントリ ポイント] ペインに [グローバル] セクションが表示されます。グローバル変数をさらに追加するには、[新規グローバル] ボタンをクリックします。

たとえば、次のイメージは、2 つのグローバル変数をもつエントリポイント関数 use_globals[エントリ ポイント] ペインを示しています。グローバル変数の型が定義されていないため、エラー アイコンが表示されています。

Entry Points pane showing undefined global variables

MATLAB Coder アプリでは、追加されたグローバル変数に既定の名前を使用します。変数の名前を変更するには、変数をクリックして新しい名前を入力します。

グローバル変数の型の定義

グローバル変数の型と初期値を定義するには、次のいずれかの方法を使用します。

  • 変数のクラス、サイズ、およびその他のプロパティを手動で定義します。[グローバル] セクションの各グローバル変数について、[クリックしてデータ型を定義してください] をクリックします。変数クラス定義をクリックし、クラスの名前を選択または入力します。変数のサイズを編集するには、各次元をクリックしてサイズを入力します。ツールヒントの [サイズ] セクションで、各次元を固定サイズ、可変サイズ、または制限なしとして定義できます。ほとんどのデータ型については、サイズの右にある列をポイントして [型のプロパティを編集] をクリックすると追加のプロパティを設定できます。構造体、ユーザー作成クラス、cell 配列などの集約型の場合は、すべてのフィールド、プロパティ、および要素の型も定義する必要があります。

  • 値の例を使用してグローバル変数の型を定義します。変数のサイズの右側をポイントし、[モードおよびアクション] ボタン をクリックします。[アクション] セクションで [コード例から型を派生] をクリックし、目的の型の例を返す MATLAB コードを入力します。あるいは、変数クラス定義をクリックし、[例の値から派生] を選択します。その後、目的の型の例を返す MATLAB コードを入力します。

たとえば、次のイメージは、それぞれ 3 行 4 列の double の配列と 1 行 3 列の double の配列として定義されたグローバル変数 AB を示しています。これらの変数には初期値がないため、警告アイコンが表示されています。

Globals section showing global variables with type definitions

初期値の指定

グローバル変数の値の初期値を指定するには、MATLAB コードを使用するか、既存の MAT ファイルから変数を読み込みます。[グローバル] セクションで変数をポイントし、[モードおよびアクション] ボタン をクリックします。[モード] セクションで [初期値の設定] を選択します。

  • MATLAB コマンドを使用して値を生成するには、[MATLAB コードの使用] を選択します。目的の値を出力する MATLAB コマンドを入力します。

  • MAT ファイルから値を読み込むには、[MAT ファイルからの読み込み] を選択します。MAT ファイルの名前を選択または入力し、値を使用する変数の名前を選択します。

たとえば、次のイメージは、初期値を設定した後のグローバル変数 AB を示しています。

Globals section showing global variables with type definitions and initial values

コード ジェネレーターでは、初期値をコード生成時に評価および定義します。コード生成後に MAT ファイルでソース変数の値を変更した場合や MATLAB コマンドの結果が変わった場合、生成コード内のグローバル変数の初期値は更新されません。

グローバル変数に指定した型と異なる型をもつ初期値を指定した場合、変数の型が初期値に合わせて更新されます。

参考

|

トピック