getreg

Выражения регрессора и численные значения в нелинейной модели ARX

Синтаксис

Rs = getreg(model)
Rm = getreg(model,data)
Rm = getreg(model,data,init)
Rm = getreg(___,'Type',regressorType)

Описание

Rs = getreg(model) возвращает выражения для вычислительных регрессоров в нелинейной модели ARX. model idnlarx объект. Типичное использование матриц регрессии, созданных getreg должен сгенерировать входные данные, когда это необходимо, чтобы оценить выход функции отображения, такой как wavenet использование evaluate. Например, следующая пара команд оценивает выход функции отображения model.

Regressor_Value = getreg(model,data,'z')
y = evaluate(model.OutputFcn,RegressorValue)
Эти команды эквивалентны команде:
y = predict(model,data,1,predictOptions('InitialCondition','z'))

Rm = getreg(model,data) возвращает значения регрессора как timetable для заданного набора данных ввода/вывода data.

Rm = getreg(model,data,init) использует начальные условия, которые заданы в init. Первый N строки каждой матрицы регрессора зависят от начальных состояний init, где N максимальная задержка регрессоров (см. getDelayInfo).

Rm = getreg(___,'Type',regressorType) возвращает имена регрессоров заданного regressorType. Например, используйте команду Rm = getreg(model,'Type','input') возвратить имена только входных регрессоров.

Входные параметры

data

iddata объект, содержащий результаты измерений или числовую матрицу, которая содержит значения выходных и входных переменных в порядке [model.OutputName model.InputName].

init

Начальные условия ваших данных:

  • 'z' (значение по умолчанию) задает нулевое начальное состояние.

  • NaN обозначает неизвестные начальные условия.

  • Действительный вектор-столбец, содержащий значения начального состояния. Для получения дополнительной информации о начальных состояниях см. Определение idnlarx состояний в idnlarx. Для данных нескольких-экспериментов это - матрица, где каждый столбец задает начальное состояние модели, соответствующей тому эксперименту.

  • iddata объект, содержащий выборки ввода и вывода в моменты времени прежде к первой выборке в data. Когда iddata объект содержит больше выборок, чем максимальная задержка модели, только новые выборки используются. Количество требуемых выборок равно max(getDelayInfo(model)).

model

iddata объект, представляющий нелинейную модель ARX.

regressorType

Тип регрессора, чтобы возвратиться в виде одного из следующего:

  • 'all' (значение по умолчанию) — Все регрессоры

  • 'input' — Только введите регрессоры

  • 'output' — Только выведите регрессоры

  • 'standard' — Только линейные и полиномиальные регрессоры

  • 'custom' — Только пользовательские регрессоры

Выходные аргументы

Rm

timetable из значений регрессора для всех или заданного подмножества регрессоров. Каждый столбец в Rm содержит столько же строк, сколько существуют выборки данных. Для модели с nr регрессоры, Rm содержит один столбец для каждого регрессора. Когда data содержит несколько экспериментов, Rm массив ячеек, где каждый элемент соответствует расписанию значений регрессора для эксперимента.

Rs

Выражения регрессора, представленные как массив ячеек из символьных векторов. Например, выражение 'u1(t-2)' вычисляет регрессор путем задержки входного сигнала u1 к двум разам выборки. Точно так же выражение 'y2(t-1)' вычисляет регрессор путем задержки выходного сигнала y2 одной выборкой времени.

Порядок регрессоров в Rs соответствует индексам регрессора в idnlarx свойство объекта model.RegressorUsage.

Примеры

свернуть все

Загрузите выборочные данные u и y.

  load twotankdata;
  Ts = 0.2;

Шаг расчета составляет 0,2 секунды.

Создайте объект данных и используйте сначала 1 000 выборок для оценки.

  z = iddata(y,u,Ts);
  ze = z(1:1000);

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

  model = nlarx(ze,[3 2 1]);

Получите выражения регрессора.

  Rs = getreg(model);

Получите значения регрессора.

  Rm = getreg(model,ze);

Оцените выход модели для одного предсказания шага.

  Y = evaluate(model.OutputFcn,Rm.Variables);

Предыдущий результат эквивалентен.

  Y_p = predict(model,ze,1,'z');
  Y = Y_p.OutputData;

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

развернуть все

Поведение изменяется в R2021a

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