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