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