Выполните онлайн-оценку параметра в командной строке

В этом разделе показано, как выполнить онлайн-оценку параметра в командной строке. Интерактивные команды оценки создают Системную object™ для структуры модели.

Оперативная оценка Системного объекта

Системный объект является специализированным MATLAB® объект, специально разработанный для реализации и симуляции динамических систем с входами, которые изменяются с течением времени. Системные объекты используют внутренние состояния для хранения прошлого поведения, которое используется на следующем вычислительном шаге.

После создания системного объекта вы используете команды для обработки данных или получения информации от объекта или о нем. Системные объекты используют минимум две команды для обработки данных - конструктор для создания объекта и step команда для обновления параметров объекта с помощью данных в реальном времени. Это отделение объявления от выполнения позволяет вам создать несколько, постоянных, переиспользуемых объектов, каждый с различными настройками.

Можно использовать следующие команды с онлайновыми Системными объектами оценки в System Identification Toolbox™:

КомандаОписание
step

Обновите оценки параметров модели с помощью рекурсивных алгоритмов оценки и данных в реальном времени.

step переводит объект в заблокированное состояние. В заблокированном состоянии вы не можете изменить какие-либо нетронутые свойства или входные спецификации, такие как порядок модели, тип данных или алгоритм оценки. Во время выполнения можно только изменить настраиваемые свойства.

release

Разблокируйте Системный объект. Используйте эту команду, чтобы включить настройку нетронутых параметров.

reset

Обнулите внутренние состояния заблокированного системного объекта до начальных значений и оставьте объект заблокированным.

clone

Создайте другой Системный объект с теми же значениями свойств объекта.

Не создавать дополнительные объекты с помощью синтаксиса obj2 = obj. Любые изменения, внесенные в свойства нового объекта, созданные таким образом (obj2) также измените свойства исходного объекта (obj).

isLocked

Запросите заблокированное состояние для атрибутов входа и нетронутых свойств Системного объекта.

Примечание

Если все данные, необходимые для оценки, доступны сразу, и вы оцениваете инвариантную по времени модель, используйте команды автономной оценки для оценки параметра модели. Для примера используйте arx вместо recursiveARX.

Рабочий процесс для оценки оперативного параметра в командной строке

  1. Выберите структуру модели для вашего приложения.

    В идеале вам нужна самая простая структура модели, которая адекватно захватывает динамику системы. Для факторов, которые нужно иметь в виду, смотрите Структуру модели.

  2. Создайте онлайн- Системный объект оценки для структуры модели с помощью одной из следующих команд:

    • recursiveAR - Модель AR timeseries

    • recursiveARMA - Модель ARMA timeseries

    • recursiveARX - модель SISO или MISO ARX

    • recursiveARMAX - модель SISO ARMAX

    • recursiveOE - SISO выходная полиномиальная модель ошибки

    • recursiveBJ - полиномиальная модель SISO Box-Jenkins

    • recursiveLS - Система с одним выходом, линейная по расчетным параметрам

    obj = recursiveARX;

    Можно задать дополнительные свойства объекта, такие как алгоритм рекурсивной оценки и предположения начального параметра. Для получения информации об используемых алгоритмах смотрите Рекурсивные алгоритмы для оценки Параметра в режиме онлайн.

  3. Получите входно-выходные данные в реальном времени.

    Задайте выходные данные оценки, y, как действительный скаляр, и входные данные, u, как действительный скаляр или вектор. Данные, заданные как iddata объект не поддерживается для онлайн-оценки.

  4. Предварительно обработайте данные оценки.

    Данные оценки, которые содержат недостатки, могут привести к плохим результатам оценки. Недостатки данных включают дрейф, смещение, отсутствующие выборки, равновесное поведение, сезонности и выбросы. Предварительно обработайте данные оценки по мере необходимости. Для факторов, которые нужно иметь в виду, смотрите Данные оценки.

    Для онлайн-оценки параметра в командной строке вы не можете использовать инструменты предварительной обработки в System Identification Toolbox. Эти инструменты поддерживают только данные, указанные как iddata объекты. Реализуйте код предварительной обработки как требуется вашим приложением. Чтобы иметь возможность генерировать C и Код С++, используйте команды, поддерживаемые MATLAB Coder™. Список этих команд см. в разделах Функции и Объекты, поддерживаемые для генерации кода C/C + + (MATLAB Coder).

  5. Обновляйте параметры модели с помощью входящих входно-выходных данных.

    Используйте step команда выполнения заданного рекурсивного алгоритма по каждому измерению входно-выходных данных.

    [A,B,yhat] = step(obj,y,u);
    

    Выходные выходы step команда задает предполагаемые параметры (A и B) и предполагаемый выход модели (yhat), на каждом наборе входно-выходных данных.

    Вызов step на объекте переводит этот объект в заблокированное состояние. Вы можете проверить заблокированный статус системного объекта с помощью isLocked. Когда объект заблокирован, вы не можете изменить какие-либо нетронутые свойства или входные спецификации, такие как порядок модели, тип данных или алгоритм оценки. Чтобы изменить свойство nontunable, используйте release команда для разблокировки Системного объекта. Вы можете использовать release на Системном объекте в коде, сгенерированном из MATLAB, но как только вы отпустите его ресурсы, вы не можете использовать этот Системный объект снова.

  6. Постпроцессные оценочные параметры.

    При необходимости можно выполнить постобработку предполагаемых параметров. Например, можно использовать lowpass, чтобы сгладить оценки шумных параметров. Чтобы иметь возможность генерировать C и Код С++, используйте команды, поддерживаемые MATLAB Coder. Список этих команд см. в разделах Функции и Объекты, поддерживаемые для генерации кода C/C + + (MATLAB Coder).

  7. Проверьте онлайн-оценку.

    Для получения дополнительной информации о проверке смотрите Валидация оценки Параметра в режиме онлайн в командной строке. Если вы не удовлетворены оценкой, используйте reset команда для установки параметров системного объекта на их начальное значение.

  8. Используйте предполагаемые параметры для вашего приложения.

    После проверки онлайн-оценки параметра можно использовать MATLAB Compiler™ или MATLAB Coder, чтобы развернуть код в вашем приложении.

См. также

| | | | | | | | | | |

Похожие примеры

Подробнее о

Для просмотра документации необходимо авторизоваться на сайте