ssGetInputPortRealSignal

Получите адрес действительного, непрерывного сигнала, вводящего входной порт

Синтаксис

const real_T *ssGetInputPortRealSignal(SimStruct *S, int_T inputPortIdx)

Аргументы

S

SimStruct, представляющий Блок s-function.

inputPortIdx

Индекс порта, сигнал которого требуется.

Возвращается

Указатель (real_T *) к действительному сигналу на входном порте, заданном индексом inputPortIdx.

Описание

Используйте, чтобы получить действительный сигнал на конкретном входном порте. Метод должен использовать этот макрос, только если входной сигнал, как известно, действителен, и mdlInitializeSizes указал, что элементы входного сигнала непрерывны, с помощью ssSetInputPortRequiredContiguous.

Примечание

Макрос ssGetInputPortRealSignal становится функцией, когда вы компилируете свою S-функцию в режиме отладки (mex -g).

Языки

C, C++

Пример

Следующий код демонстрирует использование ssGetInputPortRealSignal.

Установите флаги требовать что входные порты быть непрерывными:

void mdlInitializeSizes(SimStruct* S) {
	int_T i;
	/* snip */
	if (!ssSetNumInputPorts(S,2)) return;
		for (i = 0; i < 2; i++) {
        	/* snip */
					ssSetInputPortDirectFeedThrough(S,i,1);
					ssSetInputPortRequiredContiguous(S,i,1);
		}
                /* snip */
	}

Можно теперь использовать ssGetInputPortRealSignal в mdlOutputs:

void mdlOutputs(SimStruct* S, int_T tid) {
	int_T i;
	
	/* snip */

	for (i = 0; i < 2; i++) {
			 int_T nu = ssGetInputPortWidth(S,i);
 			const real_T* u  = ssGetInputPortRealSignal(S,i);
			 UseInputVectorInSomeFunction(u, nu);
		}
		/* snip */
	}

Смотрите S-функцию sfun_frmdft.c, используемый в sfcndemo_frame для полного примера с помощью этой функции. Выполнение этой модели требует лицензии DSP System Toolbox™.

Представлено до R2006a