入れ子関数のコードの生成
入れ子関数が含まれている MATLAB® 関数のコードを生成できます。たとえば、入れ子関数 child_fun
が含まれている関数 parent_fun
のコードを生成できます。
function x = parent_fun x = 5; child_fun function child_fun x = x + 1; end end
コード生成における入れ子関数の制限事項
入れ子関数のコードを生成する場合、値クラス、cell 配列、ハンドル クラスに関するコード生成の制限事項に従わなければなりません。また、次の制限事項にも従わなければなりません。
親関数が永続変数を宣言する場合、永続変数を使用する入れ子関数を呼び出す前に、永続変数を代入しなければなりません。
入れ子にされた再帰関数は、親関数が使用する変数を参照できません。
入れ子関数が構造体変数を参照する場合、
struct
を使用して構造体を定義しなければなりません。入れ子関数が親関数によって定義された変数を使用する場合、親関数または入れ子関数のいずれにおいても、その変数を指定した
coder.varsize
を使用することはできません。入れ子関数が可変サイズの変数を親関数と共有する場合、[動的メモリ割り当てを有効化] (MATLAB Coder) パラメーターを有効にするか、共有変数を入れ子関数に入力引数として明示的に渡す必要があります。