Установите числовой тип (действительный или комплексный) входного порта
CSignal_T ssSetInputPortComplexSignal(SimStruct *S, int_T port, CSignal_T csig)
S
SimStruct, представляющий Блок s-function.
порт
Индекс входного порта.
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
для полного примера, который использует эту функцию.