Создайте Системный объект для онлайновой оценки параметра с помощью рекурсивного алгоритма наименьших квадратов
obj = recursiveLS
obj = recursiveLS(Np)
obj = recursiveLS(Np,theta0)
obj = recursiveLS(___,Name,Value)
Используйте recursiveLS
команда для оценки параметра с данными реального времени. Если все данные, необходимые для оценки, доступны целиком, и вы оцениваете независимую от времени модель, используете mldivide, \
.
создает Систему object™ для онлайновой оценки параметра одной выходной системы по умолчанию, которая линейна в предполагаемых параметрах. Такая система может быть представлена как:obj
= recursiveLS
y (t) = H (t) θ (t) +e (t).
Здесь, y является выход, θ параметры, H регрессоры, и e является воздействием белого шума. Система по умолчанию имеет один параметр с начальным значением параметров 1
.
После создания объекта используйте step
команда, чтобы обновить оценки параметра модели с помощью рекурсивных алгоритмов наименьших квадратов и данных реального времени. В качестве альтернативы можно вызвать объект непосредственно. Для получения дополнительной информации смотрите Советы.
также задает количество параметров, которые будут оценены.obj
= recursiveLS(Np
)
также задает количество параметров и начальные значения параметров.obj
= recursiveLS(Np
,theta0
)
задает дополнительные атрибуты системы и рекурсивного алгоритма оценки с помощью одного или нескольких obj
= recursiveLS(___,Name,Value
)Name,Value
парные аргументы.
recursiveLS
создает Системный объект для онлайновой оценки параметра одной выходной системы, которая линейна в ее параметрах.
Системным объектом является специализированный MATLAB® объект, специально разработанный для реализации и симуляции динамических систем с входными параметрами то изменение в зависимости от времени. Системные объекты используют внутренние состояния, чтобы сохранить прошлое поведение, которое используется на следующем вычислительном шаге.
После того, как вы создадите Системный объект, вы используете команды, чтобы обработать данные или получить информацию из или об объекте. Системные объекты используют минимум двух команд, чтобы обработать данные — конструктор, чтобы создать объект и step
команда, чтобы обновить параметры объекта с помощью данных реального времени. Это разделение объявления от выполнения позволяет вам создать несколько, персистентные, допускающие повторное использование объекты, каждого с различными настройками.
Можно использовать следующие команды с онлайновыми Системными объектами оценки в System Identification Toolbox™:
Команда | Описание |
---|---|
step | Обновите оценки параметра модели с помощью рекурсивных алгоритмов оценки и данных реального времени.
|
release | Разблокируйте Системный объект. Используйте эту команду, чтобы позволить установить ненастраиваемых параметров. |
reset | Сбросьте внутренние состояния заблокированного Системного объекта к начальным значениям и оставьте объект заблокированным. |
clone | Создайте другой Системный объект с теми же значениями свойства объекта. Не создавайте дополнительные объекты с помощью синтаксиса |
isLocked | Запросите заблокированное состояние для входных атрибутов и ненастраиваемых свойств Системного объекта. |
Используйте recursiveLS
команда, чтобы создать онлайновый Системный объект оценки. Затем оцените системные параметры (theta
) и выход с помощью step
команда с регрессорами и входящими выходными данными, H
и y
.
[theta,EstimatedOutput] = step(obj,y,H)
Для recursiveLS
свойства объектов, смотрите Свойства.
recursiveLS
Свойства системного объекта состоят из и перезаписываемых свойств только для чтения. Перезаписываемые свойства являются настраиваемыми и ненастраиваемыми свойствами. Ненастраиваемые свойства не могут быть изменены, когда объект заблокирован, то есть, после того, как вы используете step
команда.
Используйте Name,Value
аргументы, чтобы задать перезаписываемые свойства recursiveLS
объекты во время создания объекта. После создания объекта используйте запись через точку, чтобы изменить настраиваемые свойства.
obj = recursiveLS; obj.ForgettingFactor = 0.99;
|
Количество параметров, которые будут оценены, возвращенные как положительное целое число.
Значение по умолчанию: |
|
Предполагаемые параметры, возвращенные как вектор-столбец вещественных значений.
|
|
Начальные значения параметров в виде одного из следующего:
Если начальные значения параметров намного меньше, чем
Значение по умолчанию: |
|
Начальные значения выходных параметров буферизуют по оценке конечной истории в виде Когда Если начальный буфер установлен в Задайте
Значение по умолчанию: |
|
Начальные значения регрессоров буферизуют по оценке конечной истории в виде Когда Если начальный буфер установлен в Задайте
Значение по умолчанию: |
|
Предполагаемая ковариация
Интерпретация
|
|
Ковариация начального параметра оценивает в виде одного из следующего:
Используйте только когда
Значение по умолчанию: |
|
Рекурсивный алгоритм оценки методом наименьших квадратов использовал для онлайновой оценки параметров модели в виде одного из следующих значений:
Упущение фактора и алгоритмов Фильтра Калмана более в вычислительном отношении интенсивно, чем градиент и ненормированные градиентные методы. Однако у них есть лучшие свойства сходимости. Для получения информации об этих алгоритмах смотрите Рекурсивные алгоритмы для Онлайновой Оценки Параметра. Эти методы все использование бесконечная история данных, и доступны только когда
Значение по умолчанию: |
|
Забывая фактор, λ, важный для оценки параметра в виде скаляра в области значений (0,1]. Предположим, что система остается приблизительно постоянной по выборкам T0. Можно выбрать λ, таким образом что:
Типичный выбор λ находится в области значений Используйте только когда
Значение по умолчанию: |
|
Включите или отключите оценку параметра в виде одного из следующего:
Значение по умолчанию: |
|
Точность с плавающей точкой параметров в виде одного из следующих значений:
Установка
Значение по умолчанию: |
|
Ковариационная матрица изменений параметра в виде одного из следующего:
N является количеством параметров, которые будут оценены.
Алгоритм фильтра Калмана обрабатывает параметры как состояния динамической системы и оценивает эти параметры с помощью Фильтра Калмана.
Значение по умолчанию: |
|
Усиление адаптации, γ, использовало в градиенте рекурсивные алгоритмы оценки в виде положительной скалярной величины.
Задайте большое значение для
Значение по умолчанию: |
|
Сместите в масштабировании усиления адаптации, используемом в
Нормированный алгоритм градиента делит усиление адаптации на каждом шаге квадратом 2D нормы вектора градиента. Если градиент близко к нулю, это может вызвать скачки в предполагаемых параметрах.
Значение по умолчанию: |
|
Определение типа истории данных, в виде какого типа рекурсивного алгоритма вы используете:
Алгоритмы с бесконечной историей стремятся производить оценки параметра, которые объясняют все данные начиная с запуска симуляции. Эти алгоритмы все еще используют установленную сумму памяти, которая не растет в зависимости от времени. Объект предоставляет несколько алгоритмов Алгоритмы с конечной историей стремятся производить оценки параметра, которые объясняют только конечное число прошлых выборок данных. Этот метод также называется оценкой sliding-window. Объект предоставляет один алгоритм Для получения дополнительной информации о рекурсивных методах оценки смотрите Рекурсивные алгоритмы для Онлайновой Оценки Параметра.
Значение по умолчанию: |
|
Размер окна, определяющий количество выборок времени, чтобы использовать для метода оценки раздвижного окна в виде положительного целого числа. Задайте Выберите размер окна, который балансирует эффективность оценки с нагрузки памяти и вычислительного. Измеряющие факторы включают номер и отклонение времени параметров в вашей модели. Всегда задавайте Window Length в выборках, даже если вы используете основанную на системе координат входную обработку.
Подходящая длина окна независима от того, используете ли вы основанную на выборке или основанную на системе координат входную обработку (см.
Значение по умолчанию: |
|
Опция для основанной на выборке или основанной на системе координат входной обработки в виде вектора символов или строки.
Ваш [theta,EstimatedOutput] = step(obj,y,H)
Значение по умолчанию: |
Запуск в R2016b, вместо того, чтобы использовать step
команда, чтобы обновить оценки параметра модели, можно вызвать Системный объект с входными параметрами, как будто это была функция. Например, [theta,EstimatedOutput] = step(obj,y,H)
и [theta,EstimatedOutput] = obj(y,H)
выполните эквивалентные операции.
step
| release
| reset
| clone
| isLocked
| Recursive Least Squares Estimator | mldivide
| recursiveAR
| recursiveARX
| recursiveARMA
| recursiveBJ
| recursiveOE
| recursiveARMAX