exponenta event banner

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

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

Оперативный объект системы оценки

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

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

С интерактивными объектами системы оценки в Toolbox™ Идентификация системы можно использовать следующие команды:

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

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

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

release

Разблокируйте объект System. Эта команда используется для включения настройки неперестраиваемых параметров.

reset

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

clone

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

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

isLocked

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

Примечание

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

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

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

    В идеале требуется простейшая структура модели, адекватно отражающая динамику системы. Дополнительные сведения см. в разделе Структура модели.

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

    • recursiveAR - Модель AR временного ряда

    • recursiveARMA - Модель ARMA временного ряда

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

    • recursiveARMAX - Модель SISO ARMAX

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

    • recursiveBJ - полиномиальная модель SISO Box-Дженкинса

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

    obj = recursiveARX;

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

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

    Укажите выходные данные оценки, y, как действительный скаляр и входные данные, u, как действительный скаляр или вектор. Данные, указанные как iddata не поддерживается для оценки в оперативном режиме.

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

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

    Для интерактивной оценки параметров в командной строке нельзя использовать инструменты предварительной обработки в панели инструментов идентификации системы. Эти инструменты поддерживают только данные, указанные как iddata объекты. Внедрите код предварительной обработки в соответствии с требованиями приложения. Для генерации кода C и C++ используются команды, поддерживаемые MATLAB Coder™. Список этих команд см. в разделе Функции и объекты, поддерживаемые для генерации кода C/C + + (кодер MATLAB).

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

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

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

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

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

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

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

  7. Проверка оценки в режиме онлайн.

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

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

    После проверки интерактивной оценки параметров для развертывания кода в приложении можно использовать MATLAB Compiler™ или MATLAB Coder.

См. также

| | | | | | | | | | |

Связанные примеры

Подробнее