ssGetInputPortRealSignal

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

Синтаксис

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

Аргументы

S

SimStruct, представляющий блок S-Function.

inputPortIdx

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

Возвраты

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

Описание

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

Примечание

The 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