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