Пользовательская сетевая функция для нелинейного ARX и моделей Хаммерстайна-Винера
idCustomNetwork
возразите реализует пользовательскую сетевую функцию и нелинейная функция отображения для оценки нелинейного ARX и Нелинейных моделей Хаммерстайна-Винера. Функция отображения, которая также упоминается как nonlinearity, использует комбинацию линейных весов, смещения и нелинейной функции, чтобы вычислить ее выход. Нелинейная функция содержит пользовательские модульные функции, которые работают с гребенчатой комбинацией (взвесил линейную сумму) входных параметров.
Математически, idCustomNetwork
функция, которая сопоставляет входные параметры m X (t) = [x (t 1), x 2 (t), …, xm (t)]T к скалярному выходу y (t) с помощью следующего отношения:
Здесь:
X (t) является m-by-1 вектор из входных параметров или regressors, со средним значением .
y0 является выходным смещением, скаляром.
P является m-by-p матрица проекции, где m является количеством регрессоров и является p, количество линейных весов. m должен быть больше или быть равен p.
L является p-by-1 вектор из весов.
S (X) является суммой расширенных и переведенных пользовательских модульных функций. Общее количество модульных функций упоминается как n number of units сети.
Поскольку определение модульной функции называет S (X), смотрите Больше О.
Используйте idCustomNetwork
как значение OutputFcn
свойство idnlarx
модель или InputNonlinearity
и OutputLinearity
свойства idnlhw
объект. Например, задайте idCustomNetwork
когда вы оцениваете idnlarx
модель со следующей командой.
sys = nlarx(data,regressors,idCustomNetwork)
nlarx
оценивает модель, она по существу оценивает параметры idCustomNetwork
функция.
Можно сконфигурировать idCustomNetwork
функция, чтобы отключить компоненты и зафиксировать параметры. Не использовать линейный набор компонента LinearFcn.Use
к false
. Чтобы не использовать смещение, установите Offset.Use
к false
. Чтобы задать известные значения для линейной функции и смещения, установите их Value
атрибуты непосредственно и набор соответствующий Free
атрибуты к False
Использование evaluate
вычислить выход функции для данного вектора из входных параметров.
создает нелинейный объект отображения с пользовательской модульной функцией использование указателя на функцию C
= idCustomNetwork(H
)H
H
должен указать на функцию формы [f,g,a] = function_name(x)
, где f
значение функции, g = df/dx
, и a
указывает на модульную функцию активная область значений [-a a]
где g
является значительно ненулевым. Модели Хаммерстайна-Винера требуют, чтобы ваша пользовательская функция имела только один вход и один выход.
задает, использует ли функция линейную функцию в качестве субкомпонента.S
= idCustomNetwork(H
,numUnits
,UseLinearFcn
)
задает, использует ли функция термин смещения параметр y0.S
= idCustomNetwork(H
,numUnits
,UseLinearFcn
,UseOffset
)
idCustomNetwork
использует итеративный поисковый метод для оценки параметров.
nlhw
| nlarx
| idLinear
| idPolynomial1D
| idTreePartition
| idSigmoidNetwork
| idSaturation
| idPiecewiseLinear
| idUnitGain
| idDeadZone
| idFeedforwardNetwork
| idWaveletNetwork
| idnlhw
| idnlarx
| evaluate
| linearRegressor