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

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

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

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

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

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

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

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

| | | | | | | | | | |

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

Больше о