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