mdlSetWorkWidths

Задайте размеры векторов работы и создайте параметры периода выполнения, требуемые этой S-функцией MEX C

Необходимый

Нет

Языки

C, C++

Синтаксис

#define MDL_SET_WORK_WIDTHS
void mdlSetWorkWidths(SimStruct *S)

Аргументы

S

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

Описание

Simulink® механизм вызывает этот дополнительный метод, чтобы позволить этой S-функции установить размеры состояния и работать векторы, что это должно хранить глобальные данные и создать параметры периода выполнения (см., Создают и Параметры периода выполнения S-функции Обновления). Механизм вызывает этот метод после того, как это определило ширину входного порта, ширину выходного порта и шаги расчета S-функции. Это позволяет S-функции измерять состояние и работать векторы на основе номера и размеров вводов и выводов и/или количества шагов расчета. Этот метод задает состояние, и работайте размеры вектора через макросы ssSetNumContStates, ssSetNumDiscStates, ssSetNumRWork, ssSetNumIWork, ssSetNumPWork, ssSetNumModes, и ssSetNumNonsampledZCs.

S-функция C-MEX должна реализовать этот метод, только если это не знает размеров всех векторов работы, которых требуется, когда механизм вызывает mdlInitializeSizes функции метод. Если эта S-функция реализует mdlSetWorkWidths, это должно инициализировать размеры любого, работают векторы, в которых это нуждается к DYNAMICALLY_SIZED в mdlInitializeSizes, даже для тех, точный размер которых это знает в той точке. S-функция должна затем задать фактический размер в mdlSetWorkWidths. Этот метод только допустим для симуляции и должен быть заключен в #if defined(MATLAB_MEX_FILE) оператор.

Пример

Для полного примера S-функции MEX C с помощью векторов DWork смотрите файл sfun_directlook.c.

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

mdlInitializeSizes, PostPropagationSetup

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте