sigmoidnet

Класс, представляющий сигмоидальное сетевое средство оценки нелинейности для нелинейного ARX и моделей Хаммерстайна-Винера

Синтаксис

s=sigmoidnet('NumberOfUnits',N)
s=sigmoidnet(Property1,Value1,...PropertyN,ValueN)

Описание

sigmoidnet является объектом, который хранит сигмоидальное сетевое нелинейное средство оценки для оценки нелинейного ARX и моделей Хаммерстайна-Винера.

Можно использовать конструктора, чтобы создать объект нелинейности, можно следующим образом:

s=sigmoidnet('NumberOfUnits',N) создает сигмоидальный объект средства оценки нелинейности с условиями N в сигмоидальном расширении.

s=sigmoidnet(Property1,Value1,...PropertyN,ValueN) создает сигмоидальный объект средства оценки нелинейности, заданный свойствами в sigmoidnet Свойствах.

Используйте evaluate(s,x), чтобы вычислить значение функции, определяемой объектом sigmoidnet s в x.

Свойства sigmoidnet

Можно включать пары значения свойства в конструктора, чтобы задать объект.

После создания объекта можно использовать get или запись через точку, чтобы получить доступ к значениям свойства объекта. Например:

% List all property values
get(s)
% Get value of NumberOfUnits property
s.NumberOfUnits

Можно также использовать функцию set, чтобы установить значение конкретных свойств. Например:

set(s, 'LinearTerm', 'on')
Первый аргумент к set должен быть именем переменной MATLAB®.

PropertyName Описание
NumberOfUnits

Целое число задает количество модулей нелинейности в расширении.
Default=10.

Например:

sigmoidnet(H,'NumberOfUnits',5)
LinearTerm

Может иметь следующие значения:

  • 'on' — Оценивает вектор L в расширении.

  • 'off' вектор L, чтобы обнулить.

Например:

sigmoidnet(H,'LinearTerm','on')
Parameters

Структура, содержащая параметры в нелинейном расширении, можно следующим образом:

  • RegressorMean: 1 m вектором, содержащим средние значения x в данных об оценке, r.

  • NonLinearSubspace: m-by-q матрица, содержащая Q.

  • LinearSubspace: m-by-p матрица, содержащая P.

  • LinearCoef: p-by-1 вектор L.

  • Dilation: q-by-n матрица, содержащая значения bn.

  • Перевод: 1 n вектором, содержащим значения cn.

  • OutputCoef: n-by-1 вектор, содержащий значения an.

  • OutputOffset: скалярный d.

Как правило, значения этой структуры установлены путем оценки модели с нелинейностью sigmoidnet.

Примеры

Используйте sigmoidnet, чтобы задать нелинейное средство оценки в нелинейном ARX и моделях Хаммерстайна-Винера. Например:

m=nlarx(Data,Orders,sigmoidnet('num',5));

Советы

Используйте sigmoidnet, чтобы задать нелинейную функцию y=F(x), где y является скаляром, и x является m - размерный вектор - строка. Сигмоидальная сетевая функция основана на следующем расширении:

F(x)=(xr)PL+a1f((xr)Qb1+c1)+                          +anf((xr)Qbn+cn)+d

где f является сигмоидальной функцией, данной следующим уравнением:

f(z)=1ez+1.

P и Q является m-by-p и m-by-q матрицы проекции. Матрицы проекции P и Q определяются анализом главных компонентов данных об оценке. Обычно, p=m. Если компоненты x в данных об оценке линейно зависят, то p<m. Количество столбцов Q, q, соответствует количеству компонентов x, используемого в сигмоидальной функции.

Когда используется в нелинейной модели ARX, q равен размеру свойства NonlinearRegressors объекта idnlarx. Когда используется в модели Хаммерстайна-Винера, m=q=1 и Q скаляр.

r является 1 m вектором и представляет среднее значение вектора регрессора, вычисленного из данных об оценке.

d, a, и c являются скалярами.

L является p-by-1 вектор.

b является q-by-1 векторы.

Алгоритмы

sigmoidnet использует итеративный поисковый метод для оценки параметров.

Смотрите также

|

Представленный в R2007a