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

Эта тема показывает, как выполнить онлайновую оценку параметра в командной строке. Онлайновые команды оценки создают Систему 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 — Модель полинома Поля-Jenkins SISO

    • 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. Когда объект заблокирован, вы не можете изменить ненастраиваемые свойства или ввести спецификации, такие как порядок модели, тип данных или алгоритм оценки. Чтобы изменить ненастраиваемое свойство, используйте команду release, чтобы разблокировать Системный объект. Можно использовать release на Системном объекте в коде, сгенерированном из MATLAB, но если вы высвобождаете его средства, вы не можете использовать тот Системный объект снова.

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

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

  7. Подтвердите онлайновую оценку.

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

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

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

Смотрите также

| | | | | | | | | | |

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

Больше о