mdlDerivatives
C MEX S-Function の微分を計算する
必須
いいえ
言語
C、C++
構文
#define MDL_DERIVATIVES
void mdlDerivatives(SimStruct *S)
引数
SS-Function ブロックを表す SimStruct。
説明
Simulink® エンジンは、S-Function の連続状態の微分を計算するために、各タイム ステップでこのオプションのメソッドを呼び出します。このメソッドは、S-Function の状態微分ベクトルに微分を格納します。C MEX S-Function では、ssGetdX を使用して微分ベクトルを指すポインターを取得します。
mdlDerivatives ルーチンが呼び出されるたびに、すべての微分の値を明示的に設定する必要があります。微分ベクトルは、このルーチンが最後に呼び出されたときの値を保持しません。微分ベクトルに割り当てられたメモリは、実行時に変更されます。
メモ
Simulink Coder™ を所有している場合、このメソッドを含むインラインでない C MEX S-Function のコードを生成する際は、メソッドが #if defined(MATLAB_MEX_FILE) ステートメントでラップされていないことを確認してください。以下に例を示します。
#define MDL_DERIVATIVES
#if defined(MDL_DERIVATIVES) && defined(MATLAB_MEX_FILE)
static void mdlDerivatives(SimStruct *S)
{
/* Add mdlDerivatives code here *
}
#endif define ステートメントでは、mdlDerivatives メソッドを MATLAB® MEX ファイルでのみ使用できるようにします。S-Function がインライン化されていない場合、Simulink Coder 製品はこのメソッドを使用できず、リンク エラーまたはランタイム エラーが発生します。例
C MEX S-Function の例については、csfunc.c を参照してください。
バージョン履歴
R2006a より前に導入