Установите числовой тип (действительный или комплексный) выходного порта
CSignal_T ssSetOutputPortComplexSignal(SimStruct *S, input_T port, CSignal_T csig)
SSimStruct, представляющий блок 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-функция должна обеспечивать mdlSetOutputPortComplexSignal и mdlSetDefaultPortComplexSignals методы, позволяющие правильно задать числовой тип во время распространения сигнала. Числовой тип по умолчанию для выхода порта real.
C, C++
Предположим, что S-функция имеет три выходных порта. Первый выходной порт излучает действительные (некомплексные) сигналы. Второй выходной порт излучает комплексный сигнал. Третий порт излучает сигналы типа, определяемого настройкой параметра. Следующий пример задает правильный числовой тип для каждого порта.
ssSetOutputPortComplexSignal(S, 0, COMPLEX_NO) ssSetOutputPortComplexSignal(S, 1, COMPLEX_YES) ssSetOutputPortComplexSignal(S, 2, COMPLEX_INHERITED)
Смотрите S-функцию sfun_cplx.c используется в sfcndemo_cplx и S-функции sdotproduct.c используется в sfcndemo_sdotproduct для полных примеров, которые используют эту функцию.