メインコンテンツ

MATLAB 関数での動的メモリ割り当て

MATLAB コードに動的メモリ割り当てを使用するオプション

モデル コンフィギュレーション ペイン: シミュレーション ターゲット

説明

[MATLAB 関数での動的メモリ割り当て] パラメーターは、MATLAB Function ブロック、Stateflow® チャート、および MATLAB System ブロックの MATLAB® コードについて、シミュレーションとコード生成で動的メモリ割り当てを使用するかどうかを指定します。

動的メモリ割り当てしきい値以上のサイズ (バイト単位) をもつ可変サイズ配列に対して動的メモリ割り当てを使用します。このパラメーターは、MATLAB Function ブロック、Stateflow チャート、または MATLAB System ブロックに関連付けられた System object™ の MATLAB コードに適用されます。このパラメーターはシミュレーション時とコード生成時にモデルに適用されます。このパラメーターは以下には適用されません。

  • 入力信号

  • 出力信号

  • パラメーター

  • グローバル変数

  • MATLAB System ブロックに関連付けられた System object の離散状態プロパティ

動的メモリ割り当てを使用するコードは、静的メモリ割り当てを使用するコードよりも効率が低くなることがあります。動的メモリ割り当てが必要なモデル以外では、このパラメーターはオフにしてください。

動的メモリ割り当ての要求に対応する十分なメモリがないと、動的メモリ割り当てが失敗する可能性があります。メモリ割り当ての要件はコード ジェネレーターでチェックされません。セーフティ クリティカルなアプリケーションの場合、このパラメーターの推奨設定は off です。

設定

on | off
on

サイズ (バイト単位) が [MATLAB 関数での動的メモリ割り当てしきい値] パラメーターで指定された動的メモリ割り当てしきい値を超える MATLAB コード内の可変サイズ配列に対して、メモリが動的に割り当てられます。

このパラメーターは GRT ベースのコード生成ターゲットでは既定で選択されています。

off

MATLAB コードに対しては、動的メモリ割り当ては使用されません。

このパラメーターは ERT ベースのコード生成ターゲットでは既定でオフになります。

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性off
安全対策off

プログラムでの使用

パラメーター: MATLABDynamicMemAlloc
型: string | 文字ベクトル
値: 'on' | 'off'
既定の設定: 'on'

制限

  • GPU Coder™ を使用してコードを生成すると、生成コードでは cudaMalloc API を使用して GPU のメモリが割り当てられます。そのため、このパラメーターが off に設定されていても、生成コードで MATLAB 関数に対して動的に GPU メモリが割り当てられることがあります。

バージョン履歴

R2017a で導入