Установите размерности сигналов, принятых входным портом
Нет
C, C++
#define MDL_SET_INPUT_PORT_DIMENSION_INFO
void mdlSetInputPortDimensionInfo(SimStruct *S, int_T port,
const DimsInfo_T *dimsInfo)
S SimStruct, представляющий Блок s-function.
port Индекс порта.
dimsInfoСтруктура, которая задает размерности сигнала, поддержанные портом.
Смотрите ssSetInputPortDimensionInfo для описания этой структуры.
Механизм Simulink® вызывает этот метод во время распространения размерности с размерностями кандидата dimsInfo для port. В S-функциях MEX C, если предложенные размерности приемлемы, метод устанавливает размерности фактического порта, с помощью . Если они недопустимы, метод генерирует ошибку через ssSetInputPortDimensionInfo. ssSetErrorStatus
Этот метод только допустим для симуляции. S-функция MEX C должна заключить метод в #if defined(MATLAB_MEX_FILE) оператор.
Этот метод может установить размерности любого другого порта ввода или вывода, размерности которого выводят из размерностей port.
По умолчанию механизм вызывает этот метод, только если это может полностью определить размерность port от порта, до которого это соединяется. Для S-функций MEX C, если механизм не может полностью определить размерность из подключения порта, это вызывает mdlSetDefaultPortDimensionInfo. Если S-функция может полностью определить размерность порта из частичной информации, установите опцию SS_OPTION_ALLOW_PARTIAL_DIMENSIONS_CALL в mdlInitializeSizes, использование ssSetOptions. Если эта опция установлена, механизм вызывает mdlSetInputPortDimensionInfo даже если это может только частично определить размерность входного порта от возможности соединения.
Механизм вызывает этот метод, пока всем входным портам с наследованными размерностями не задали их размерности.
Смотрите sfun_matadd.c для примера того, как использовать эту функцию.
ssSetErrorStatus, mdlSetOutputPortDimensionInfo, SetInputPortDimensions