Создайте Системный объект для онлайновой оценки параметра модели ARMAX
obj = recursiveARMAX
obj = recursiveARMAX(Orders)
obj = recursiveARMAX(Orders,A0,B0,C0)
obj = recursiveARMAX(___,Name,Value)
Используйте recursiveARMAX
команда для оценки параметра с данными реального времени. Если все данные, необходимые для оценки, доступны целиком, и вы оцениваете независимую от времени модель, используете оффлайновую команду оценки, armax
.
создает Систему object™ для онлайновой оценки параметра одно входа одно выхода (SISO) по умолчанию структура модели ARMAX. Структура модели по умолчанию имеет полиномы порядка 1 и начальных полиномиальных содействующих значений obj
= recursiveARMAXeps
.
После создания объекта используйте step
команда, чтобы обновить оценки параметра модели с помощью рекурсивных алгоритмов оценки и данных реального времени.
задает полиномиальные порядки модели ARMAX, которая будет оценена.obj
= recursiveARMAX(Orders
)
задает полиномиальные порядки и начальные значения полиномиальных коэффициентов. Задайте начальные значения, чтобы потенциально избежать локальных минимумов во время оценки. Если начальные значения малы по сравнению с obj
= recursiveARMAX(Orders
,A0,B0,C0
)InitialParameterCovariance
по умолчанию значение свойства, и вы уверены в своих начальных значениях, также задаете меньший
InitialParameterCovariance
.
задает дополнительные атрибуты структуры модели ARMAX и рекурсивного алгоритма оценки с помощью одного или нескольких obj
= recursiveARMAX(___,Name,Value
)Name,Value
парные аргументы.
recursiveARMAX
создает Системный объект для онлайновой оценки параметра моделей SISO ARMAX с помощью рекурсивного алгоритма оценки.
Системный объект является специализированным объектом MATLAB®, специально разработанным для реализации и симуляции динамических систем с входными параметрами то изменение в зависимости от времени. Системные объекты используют внутренние состояния, чтобы сохранить прошлое поведение, которое используется на следующем вычислительном шаге.
После того, как вы создадите Системный объект, вы используете команды, чтобы обработать данные или получить информацию из или об объекте. Системные объекты используют минимум двух команд, чтобы обработать данные — конструктор, чтобы создать объект и step
команда, чтобы обновить параметры объекта с помощью данных реального времени. Это разделение объявления от выполнения позволяет вам создать несколько, персистентные, допускающие повторное использование объекты, каждого с различными настройками.
Можно использовать следующие команды с онлайновыми Системными объектами оценки в System Identification Toolbox™:
Команда | Описание |
---|---|
step | Обновите оценки параметра модели с помощью рекурсивных алгоритмов оценки и данных реального времени.
|
release | Разблокируйте Системный объект. Используйте эту команду, чтобы позволить установить ненастраиваемых параметров. |
reset | Сбросьте внутренние состояния заблокированного Системного объекта к начальным значениям и оставьте объект заблокированным. |
clone | Создайте другой Системный объект с теми же значениями свойства объекта. Не создавайте дополнительные объекты с помощью синтаксиса |
isLocked | Запросите заблокированное состояние для входных атрибутов и ненастраиваемых свойств Системного объекта. |
Используйте recursiveARMAX
команда, чтобы создать онлайновый Системный объект оценки. Затем оцените параметры модели ARMAX (A
B
, и C
) и выход с помощью step
команда с входящими входными и выходными данными, u
, и y
.
[A,B,C,EstimatedOutput] = step(obj,y,u)
Для recursiveARMAX
свойства объектов, смотрите Свойства.
recursiveARMAX
Свойства системного объекта состоят из и перезаписываемых свойств только для чтения. Перезаписываемые свойства являются настраиваемыми и ненастраиваемыми свойствами. Ненастраиваемые свойства не могут быть изменены, когда объект заблокирован, то есть, после того, как вы используете step
команда.
Используйте Name,Value
аргументы, чтобы задать перезаписываемые свойства recursiveARMAX
объекты во время создания объекта. После создания объекта используйте запись через точку, чтобы изменить настраиваемые свойства.
obj = recursiveARMAX; obj.ForgettingFactor = 0.99;
|
Предполагаемые коэффициенты полиномиального A (q), возвращенный как вектор-строка из действительных значений, заданы в порядке возрастающих степеней q-1.
|
|
Предполагаемые коэффициенты полиномиального B (q), возвращенный как вектор действительных значений, заданы в порядке возрастающих степеней q-1.
|
|
Предполагаемые коэффициенты полиномиального C (q), возвращенный как вектор действительных значений, заданы в порядке возрастающих степеней q-1.
|
|
Начальные значения для коэффициентов полиномиального A (q) порядка Если исходные предположения намного меньше, чем
Значение по умолчанию: |
|
Начальные значения для коэффициентов полиномиального B (q) порядка Если исходные предположения намного меньше, чем
Значение по умолчанию: |
|
Начальные значения для коэффициентов полиномиального C (q) порядка Коэффициенты в InitialC = [1 0.5 0.5]; all(abs(roots(InitialC))<1) ans = 1 Если исходные предположения намного меньше, чем
Значение по умолчанию: |
|
Предполагаемая ковариация Интерпретация
|
|
Ковариация начальных оценок параметра, заданных как одно из следующего:
Используйте только когда
Значение по умолчанию: |
|
Рекурсивный алгоритм оценки, используемый в онлайновой оценке параметров модели, заданных как одно из следующих значений:
Упущение фактора и алгоритмов Фильтра Калмана более в вычислительном отношении интенсивно, чем градиент и ненормированные градиентные методы. Однако у них есть лучшие свойства сходимости. Для получения информации об этих алгоритмах смотрите Рекурсивные алгоритмы для Онлайновой Оценки Параметра.
Значение по умолчанию: |
|
Забывая фактор, λ, важный для оценки параметра, заданной как скаляр в области значений (0,1]. Предположим, что система остается приблизительно постоянной по выборкам T0. Можно выбрать λ, таким образом что:
Типичный выбор λ находится в области значений Используйте только когда
Значение по умолчанию: |
|
Включите или отключите оценку параметра, заданную как одно из следующего:
Значение по умолчанию: |
|
Точность с плавающей точкой параметров, заданных как одно из следующих значений:
Установка
Значение по умолчанию: |
|
Ковариационная матрица изменений параметра, заданных как одно из следующего:
N является количеством параметров, которые будут оценены.
Алгоритм фильтра Калмана обрабатывает параметры как состояния динамической системы и оценивает эти параметры с помощью Фильтра Калмана.
Значение по умолчанию: |
|
Усиление адаптации, γ, использовало в градиенте рекурсивные алгоритмы оценки, заданные как положительная скалярная величина.
Задайте большое значение для
Значение по умолчанию: |
|
Сместите в масштабировании усиления адаптации, используемом в
Нормированный алгоритм градиента делит усиление адаптации на каждом шаге квадратом 2D нормы вектора градиента. Если градиент близко к нулю, это может вызвать скачки в предполагаемых параметрах.
Значение по умолчанию: |
Запуск в R2016b, вместо того, чтобы использовать step
команда, чтобы обновить оценки параметра модели, можно вызвать Системный объект с входными параметрами, как будто это была функция. Например, [A,B,C,EstimatedOutput] = step(obj,y,u)
и [A,B,C,EstimatedOutput] = obj(y,u)
выполните эквивалентные операции.
Recursive Polynomial Model Estimator | armax
| clone
| isLocked
| recursiveAR
| recursiveARMA
| recursiveARX
| recursiveBJ
| recursiveLS
| recursiveOE
| release
| reset
| step