exponenta event banner

ssSetInputPortDimensionInfo

Укажите информацию о размерности входного порта

Синтаксис

int_T ssSetInputPortDimensionInfo(SimStruct *S,  int_T port, 
 DimsInfo_T *dimsInfo)

Аргументы

S

SimStruct представляет S-функциональный блок.

port

Индекс входного порта.

dimsInfo

Структура типа DimsInfo_T который определяет размерность сигналов, принимаемых port.

Структура определяется как

typedef struct DimsInfo_tag{ 
    int  width;			/* number of elements   */
    int  numDims		/* Number of dimensions */
    int  *dims;			/* Dimensions.          */
    [snip]
}DimsInfo_T;

где

  • numDims задает количество измерений сигнала, например 1 для 1-D (векторного) сигнала или 2 для 2-D (матричного) сигнала, или DYNAMICALLY_SIZED если количество размеров определяется динамически.

  • dims - целочисленный массив, который задает размер каждого измерения, например, [2 3] для матричного сигнала 2 на 3, или DYNAMICALLY_SIZED for each dimension that is determined dynamically, e.g., [2 DYNAMICALLY_SIZED].

  • width равно общему количеству элементов в сигнале, например 12 для матричного сигнала 3 на 4 или 8 для 8-элементного векторного сигнала, или DYNAMICALLY_SIZED если общее количество элементов определяется динамически.

    Примечание

    Используйте макрос, DECL_AND_INIT_DIMSINFO, для объявления и инициализации экземпляра этой структуры.

Прибыль

1 в случае успеха; в противном случае 0.

Описание

Указывает сведения об измерении для port. Используйте эту функцию в mdlInitializeSizes для инициализации информации об измерении входного порта. Если требуется, чтобы порт наследовал размеры от порта, к которому он подключен, укажите DYNAMIC_DIMENSION в качестве dimsInfo для port. В этом случае S-функция должна обеспечивать mdlSetInputPortDimensionInfo и mdlSetDefaultPortDimensionInfo способы, позволяющие правильно задавать размеры сигнала во время распространения сигнала.

Языки

C, C++

Пример

В следующем примере показано, что входной порт 0 принимает сигналы матрицы 2 на 2.

{
    DECL_AND_INIT_DIMSINFO(di);
    int_T dims[2];

    di.numDims = 2;
    dims[0] = 2;
    dims[1] = 2;
    di.dims = dims;
    di.width = 4;
    ssSetInputPortDimensionInfo(S, 0, &di);
}

См. S-функцию sfun_matadd.c используется в sfcndemo_matadd и S-функцию sdotproduct.c используется в sfcndemo_sdotproduct для полных примеров использования этой функции.

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