Установка числового типа (вещественного или комплексного) входного порта
CSignal_T ssSetInputPortComplexSignal(SimStruct *S, int_T port, CSignal_T csig)
SSimStruct представляет S-функциональный блок.
portИндекс входного порта.
csigЧисловой тип сигналов, принятых port. Допустимые значения: COMPLEX_NO (реальный сигнал), COMPLEX_YES (комплексный сигнал), и COMPLEX_INHERITED (числовой тип, унаследованный от блока управления).
1 (COMPLEX_YES), 0 (COMPLEX_NO), или -1 (COMPLEX_INHERITED) в зависимости от значения, указанного csig.
Используйте эту функцию в mdlInitializeSizes для инициализации числового типа входного порта. Если числовой тип входного порта наследуется от блока, к которому он подключен, установите числовой тип в значение COMPLEX_INHERITED. В этом случае S-функция должна обеспечивать mdlSetInputPortComplexSignal и mdlSetDefaultPortComplexSignals способы, позволяющие правильно устанавливать числовой тип во время распространения сигнала. Числовой тип входного порта по умолчанию: real.
C, C++
Предположим, что S-функция имеет три входных порта. Первый входной порт принимает реальные (некомплексные) сигналы. Второй входной порт принимает сложные сигналы. Третий порт принимает сигналы любого типа. В следующем примере указывается правильный числовой тип для каждого порта.
ssSetInputPortComplexSignal(S, 0, COMPLEX_NO) ssSetInputPortComplexSignal(S, 1, COMPLEX_YES) ssSetInputPortComplexSignal(S, 2, COMPLEX_INHERITED)
См. S-функцию sfun_cplx.c используется в sfcndemo_cplx полный пример использования этой функции.