関数定義
コード高速化のための定義と呼び出し
関数
coder.extrinsic | 外部として関数を宣言し MATLAB で実行 |
coder.ignoreConst | 関数の特殊化の式における定数値の使用の防止 |
coder.unroll | 各ループ反復でループ本体のコピーを作成することで、for ループを展開 |
coder.sameSizeBinaryOp | Apply element-wise binary operations without implicit expansion |
coder.noImplicitExpansionInFunction | 生成コードの指定した関数内で暗黙的な拡張を無効化 |
coder.read | 実行時に生成コードでデータ ファイルを読み取り |
coder.write | 実行時に生成コードで読み取るデータ ファイルを作成 |
トピック
- コンパイル命令 %#codegen
MATLAB® 関数がコード生成用であることを示します。
- 暗黙的な拡張を有効にしたコードの生成
暗黙的な拡張を達成するためにコード ジェネレーターで生成コードに変更が加えられます。
- 生成コードでの暗黙的な拡張の最適化
生成コードでの暗黙的な拡張は既定で有効になっています。
- 可変長引数リストのコード生成
varargin
およびvarargout
のコードを生成します。 - 入力引数と出力引数を検証する arguments ブロックのコード生成
関数の入力値と出力値のクラス、サイズ、および他の特性を制約する MATLAB コードのコードを生成する。
- 再帰関数のコード生成
コード生成用に MATLAB コードで再帰関数を使用します。
- コード ジェネレーターで実行時の再帰を強制的に使用させる
コード ジェネレーターでコンパイル時の再帰ではなく実行時の再帰が使用されるように、MATLAB コードを書き換えます。
- 無名関数のコード生成
コード生成用に MATLAB コードで無名関数を使用します。
- 入れ子関数のコードの生成
コード生成用に MATLAB コードで入れ子関数を使用します。
- コード生成における関数呼び出しの解決
コード ジェネレーターは優先順位ルールを使用して関数呼び出しを解決します。
- コード生成パスでのファイル タイプの解決
コード ジェネレーターは優先順位ルールを使用してファイル タイプを解決します。
- 生成コードでの MATLAB エンジンを使用した関数呼び出しの実行
関数がコード生成でサポートされない場合は、その関数を "外部" 関数として宣言して MATLAB で実行します。
トラブルシューティング
for ループ内の varargin または varargout のインデックスが一定でない
コード ジェネレーターが varargin
または varargout
のインデックスの値を特定できないときに、ループ展開を強制的に実行します。
実行時再帰の出力変数の代入のトラブルシューティング。
コンパイル時の再帰限界値エラーをトラブルシューティングします。