Main Content

cgsl_0103: 以前に計算済みの信号とパラメーター

ID: タイトルcgsl_0103: 以前に計算済みの信号とパラメーター
説明不変パラメーターと信号は以下のいずれかを行って事前に計算します。
A値を事前に手動で計算する。
B

次のコンフィギュレーション パラメーターを設定します。

  • [既定のパラメーター動作][インライン] に設定する

  • [インライン不変信号] を選択する

メモ変数を事前に計算すると、ローカルおよびグローバルのメモリ使用量が減り、実行速度が向上します。[既定のパラメーター動作][インライン] に設定し、[インライン不変信号] を有効にした場合、ランタイムの前に完了する数値計算が最大化されて、ランタイムの計算数が最小限になります。場合によっては、保存されるパラメーター数の減少につながります。ただし、コード ジェネレーターが使用するアルゴリズムには限界があります。Simulink® 環境の外で値を計算すると、コードがコンパクトになる場合もあります。これによってモデルの効率が上がるが、可読性が低下します。
根拠A、Bシステムのメモリ要件を減らしてランタイムの実行を向上させるには、Simulink 環境の外でデータを事前に計算する。
最終更新R2012b

次のモデルでは、4 つのパスが数学的に等価です。ただし、アルゴリズムの限界により、パスのランタイム計算数は異なります。

Path_1 = InputSignal * -3.0 * 3.0;

/* Product: '<Root>/Product4' incorporates:
 *  Inport: '<Root>/In1'
 */
Path_2 = InputSignal * -9.0;

/* Product: '<Root>/Product2' incorporates:
 *  Constant: '<Root>/Constant2'
 *  Inport: '<Root>/In1'
 */
Path_3 = -9.0 * InputSignal;

/* Product: '<Root>/Product5' incorporates:
 *  Constant: '<Root>/Constant2'
 *  Inport: '<Root>/In1'
 */
Path_4 = -3.0 * InputSignal * 3.0;

/* Product: '<Root>/Product6' incorporates:
 *  Constant: '<Root>/Constant3'
 *  Inport: '<Root>/In1'
 */
Pre_Calc_1 = -9.0 * InputSignal;

事前の自動計算を最大化するには、計算式の末尾に信号を追加します。

データをインライン化すると、モデル パラメーターの調整機能が低下します。キャリブレーションを可能にするには、キャリブレーションを必要とするパラメーターを定義します。詳細については、生成されたコードにおける調整可能なキャリブレーション パラメーターの作成 (Simulink Coder)を参照してください。