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