Пользовательская сетевая функция для нелинейного 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)HH должен указать на функцию формы [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