Пользовательская сетевая функция для нелинейного ARX и моделей Хаммерстайна-Винера
customnet
возразите реализует пользовательскую сетевую функцию и нелинейная функция отображения для оценки нелинейного ARX и Нелинейных моделей Хаммерстайна-Вайнера. Функция отображения, которая также упоминается как nonlinearity, использует комбинацию линейных весов, смещения и нелинейной функции, чтобы вычислить ее выход. Нелинейная функция содержит пользовательские модульные функции, которые работают с гребенчатой комбинацией (взвесил линейную сумму) входных параметров.
Математически, сеть customnet является функцией, которая сопоставляет входные параметры 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), смотрите Больше О.
Используйте customnet
как значение OutputFcn
свойство idnlarx
модель или InputNonlinearity
и OutputLinearity
свойства idnlhw
объект. Например, задайте customnet
когда вы оцениваете idnlarx
модель со следующей командой.
sys = nlarx(data,regressors,customnet)
nlarx
оценивает модель, она по существу оценивает параметры customnet
функция.
Можно сконфигурировать customnet
функция, чтобы отключить компоненты и зафиксировать параметры. Не использовать линейный набор компонента LinearFcn.Use
к false
. Чтобы не использовать смещение, установите Offset.Use
к false
. Чтобы задать известные значения для линейной функции и смещения, установите их Value
атрибуты непосредственно и набор соответствующий Free
атрибуты к False
Использование evaluate
вычислить выход функции для данного вектора из входных параметров.
создает нелинейный объект отображения с пользовательской модульной функцией использование указателя на функцию C
= customnet(H
)H
H
должен указать на функцию формы [f,g,a] = function_name(x)
, где f
значение функции, g = df/dx
, и a
указывает на модульную функцию активная область значений [-a a]
где g
является значительно ненулевым. Модели Хаммерстайна-Винера требуют, чтобы ваша пользовательская функция имела только один вход и один выход.
задает, использует ли функция линейную функцию в качестве субкомпонента.S
= customnet(H
,numUnits
,UseLinearFcn
)
задает, использует ли функция термин смещения параметр y0.S
= customnet(H
,numUnits
,UseLinearFcn
,UseOffset
)
customnet
использует итеративный поисковый метод для оценки параметров.
deadzone
| evaluate
| idnlarx
| idnlhw
| linear
| linearRegressor
| neuralnet
| nlarx
| nlhw
| poly1d
| pwlinear
| saturation
| sigmoidnet
| treepartition
| unitgain
| wavenet