mdlDerivatives

Вычислите производные S-функции MEX C

Необходимый

Нет

Языки

C, C++

Синтаксис

#define MDL_DERIVATIVES
void mdlDerivatives(SimStruct *S)

Аргументы

S

SimStruct, представляющий Блок s-function.

Описание

Механизм Simulink® вызывает этот дополнительный метод на каждом временном шаге, чтобы вычислить производные непрерывных состояний S-функции. Этот метод должен сохранить производные в векторе производных S-функции состояния. В S-функции MEX C используйте ssGetdX получить указатель на вектор производных.

Каждый раз mdlDerivatives стандартная программа называется, она должна явным образом установить значения всех производных. Производный вектор не обеспечивает значения от последней возможности до этой стандартной программы. Память, выделенная производному вектору, изменяется во время выполнения.

Примечание

Если у вас есть Simulink Coder™ при генерации кода для невстроенной S-функции MEX C, которая содержит этот метод, убедитесь, что метод не перенесен в #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 метод, доступный только для файла MEX MATLAB®. Если S-функция не встраивается, продукт Simulink Coder не может использовать этот метод, приводящий к ссылке или ошибкам времени выполнения.

Пример

Для примера S-функции MEX C смотрите csfunc.c.

Смотрите также

ssGetdx, Derivatives

Представлено до R2006a