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