Создайте Системный объект для онлайновой оценки параметра модели ARMAX
Используйте команду recursiveARMAX
для оценки параметра с данными реального времени. Если все данные, необходимые для оценки, доступны целиком, и вы оцениваете независимую от времени модель, используете оффлайновую команду оценки, armax
.
obj = recursiveARMAX
obj = recursiveARMAX(Orders)
obj = recursiveARMAX(Orders,A0,B0,C0)
obj = recursiveARMAX(___,Name,Value)
создает Систему object™ для онлайновой оценки параметра структуры модели ARMAX одно входа одно вывода (SISO) по умолчанию. Образцовая структура по умолчанию имеет полиномы порядка 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)
выполняют эквивалентные операции.
Рекурсивное полиномиальное образцовое средство оценки | armax
| clone
| isLocked
| recursiveAR
| recursiveARMA
| recursiveARX
| recursiveBJ
| recursiveLS
| recursiveOE
| release
| reset
| step