Получите размерности элемента шины
const int_T* ssGetBusElementDimensions(SimStruct* S, int_T busTypeID, int_T elemIdx)
S
SimStruct, который представляет Блок s-function
busTypeID
Идентификатор типа данных шины, который представляет сигнал шины
elemIdx
Основанный на нуле индекс элемента шины
const int_T*
Получите размерности (const int_T*
) для элемента шины, который вы задаете. Чтобы выполнить итерации по целочисленному массиву, который возвращает ssGetBusElementDimensions
, используйте ssGetBusElementNumDimensions
.
C, C++
static void mdlOutputs(SimStruct *S, int_T tid) { DTypeId dType = ssGetOutputPortDataType(S, 0); const void *u = ssGetInputPortSignal(S, 0); int numElems = ssGetNumBusElements(S, dType); int i; for(i=0; i<numElems; i++) { int_T numDims = ssGetBusElementNumDimensions(S, dType, i); const int_T *dims = ssGetBusElementDimensions(S, dType, i); int width = 1; int j; /* Compute width of the bus element */ for(j=0; j<numDims; j++) { width *= dims[j]; } } }