Установите числовой тип (действительный или комплексный) порта входа
CSignal_T ssSetInputPortComplexSignal(SimStruct *S, int_T port, CSignal_T csig)
S
SimStruct, представляющий блок S-Function.
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
для полного примера, который использует эту функцию.