linear

Объект линейного отображения для нелинейных моделей ARX

Описание

A linear объект реализует функцию affine и является функцией отображения для оценки нелинейных моделей ARX. Функция отображения использует комбинацию линейных весов и смещения. В отличие от других объектов отображения для нелинейных моделей, linear объект не содержит условий для нелинейного компонента.

Математически, linear является линейной функцией y=F(x) который отображает m входы X (t) = [x (t 1), x 2 (t),..., xm (t)]T в скалярный выходной y (t). F является (аффинной) функцией x:

y(t)=y0+(Χ(t)X¯)TPL

Здесь:

  • X (t) является вектором m -by-1 входов или regressors со среднимΧ¯.

  • y0 - выход смещение, скаляр.

  • P - m -by - p проекционная матрица, где m - количество регрессоров и p - количество линейных весов. m должно быть больше или равно p.

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

Задайте linear как значение OutputFcn свойство idnlarx модель. Для примера задайте linear когда вы оцениваете idnlarx модель с помощью следующей команды.

sys = nlarx(data,regressors,linear)
Когда nlarx оценивает модель, также оценивает параметры linear функция.

Используйте linear объект отображения, когда вы хотите создать нелинейные модели ARX, которые работают линейно на регрессорах. Сами регрессоры могут быть нелинейными функциями входов и выходов. The polynomialRegressor и customRegressor команды позволяют вам создавать такие регрессоры. Когда idnlarx модель не имеет пользовательских регрессоров, и выходная функция установлена в linear, модель подобна линейной модели ARX. Однако для нелинейной модели ARX смещение является оценочным параметром.

Можно сконфигурировать linear объект, чтобы отключить компоненты и исправить параметры. Использовать evaluate вычислить выход функции для заданного вектора входов.

Создание

Синтаксис

Описание

пример

Lin = linear создает linear Lin объекта с неизвестными параметрами.

Свойства

расширить все

Информация входного сигнала для сигналов, используемых для оценки, задается как векторы m значений свойств, где m - количество входных сигналов. The Input свойства для каждого входного сигнала следующие:

  • Name - Имена входных сигналов, заданные как 1-байт- m строковый или символьный массив, где m количество входов

  • Mean - Среднее значение входных сигналов, заданное в виде числа

  • Range - Области значений входных сигналов, заданные как 2-байт- m числовой массив, который содержит минимальное и максимальное значения

Выход сигнале, заданная как значения конкретных свойств. The Output свойства следующие:

  • Name - Имя выходного сигнала, заданное как строка или символьный массив

  • Mean - Среднее значение выходного сигнала, заданное в виде числа

  • Range - Область значений выходного сигнала, заданный как числовой массив 2 на 1, содержащий минимальное и максимальное значения.

Параметры линейной функции, заданные следующим образом:

  • Value - Значение L ', заданное как вектор 1 байт m.

  • Free - Опция обновления записей Value во время оценки. задается как логический скаляр. Программа чтит Free спецификация только, если начальное значение Value является конечным. Значение по умолчанию true.

  • Minimum - Минимальная граница Value, заданный как вектор 1-байт- p. Если Minimum задается с конечным значением и начальным значением Value является конечным, тогда программное обеспечение применяет эту минимальную границу во время оценки модели.

  • Maximum - Максимальная граница на Value, заданный как вектор 1-байт- p. Если Maximum задается с конечным значением и начальным значением Value является конечным, тогда программное обеспечение применяет эту максимальную границу во время оценки модели.

  • SelectedInputIndex - Индексы linear входы (см. Input.Name), которые используются в качестве входов в линейную функцию, заданную как 1-байт- nr целочисленный вектор, где nr - количество входов. The RegressorUsage свойство idnlarx модель определяет эти индексы.

Параметры срока смещения, заданные следующим образом:

  • Value - Значение смещения, заданное как скаляр.

  • Free - Опция обновления Value во время оценки, заданной как скаляр логический. Программа чтит Free спецификация false только если значение Value является конечным. Значение по умолчанию true.

  • Minimum - Минимальная граница Value, заданный как числовой скаляр или –Inf. Если Minimum задается с конечным значением и значением Value является конечным, тогда программное обеспечение применяет эту минимальную границу во время оценки модели. Значение по умолчанию -Inf.

  • Maximum - Максимальная граница на Value, заданный как числовой скаляр или Inf. Если Maximum задается с конечным значением и начальным значением Value является конечным, тогда программное обеспечение применяет эту максимальную границу во время оценки модели. Значение по умолчанию Inf.

Примеры

свернуть все

Загрузите данные.

load iddata7 z7

Создайте linear отображение L.

L = linear;

Создайте модели регрессоров, которые включают нелинейные полиномиальные регрессоры.

Reg1 = linearRegressor({'y1','u1'},{1:4, 0:4});
Reg2 = polynomialRegressor({'y1','u1'},{1:2, 0:2},2,false,true,true);
Reg3 = polynomialRegressor({'y1','u1'},{2, 1:3},3,false,true);

Оцените нелинейную модель ARX.

sys = nlarx(z7,[Reg1;Reg2;Reg3],L)
sys = 
Nonlinear ARX model with 1 output and 2 inputs
  Inputs: u1, u2
  Outputs: y1

Regressors:
  1. Linear regressors in variables y1, u1
  2. Order 2 regressors in variables y1, u1
  3. Order 3 regressors in variables y1, u1
  List of all regressors

Model output is linear in regressors.
Sample time: 1 seconds

Status:                                          
Estimated using NLARX on time domain data "z7".  
Fit to estimation data: 43.22% (prediction focus)
FPE: 5.66, MSE: 4.963

Вопросы совместимости

расширить все

Не рекомендуемый запуск в R2021a

Введенный в R2007a