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