exponenta event banner

Параметры модели оценки и начальные состояния (GUI)

В этом примере показано, как оценить физические параметры - массу (m), пружинную постоянную (k) и демпфирование (b) простой модели масса-пружина-демпфер. Этот пример иллюстрирует значимость оценки начального состояния.

Модель системы демпфера весн массы Simulink ®

Модель Simulink для системы масса-пружина-демпфер, msd_system, показано ниже.

Выходной сигнал модели представляет собой характеристику смещения (положение) массы в системе масса-пружина-демпфер, подверженной постоянной силе (F) и начальному смещению (x0). x0 - начальное условие блока интегратора Position. Выполните моделирование один раз для наблюдения за реакцией модели на номинальный набор значений параметров.

Экспериментальные наборы данных

Для оценки параметров модели (m, b и k), используются два набора экспериментальных данных. Эти наборы данных были получены с использованием двух различных исходных положений (0,1 и 0,3) и содержат аддитивный шум. График этих наборов данных показан ниже (оранжевые и голубые кривые) вместе с моделируемой реакцией (желтая кривая) модели Simulink для x0 = -0.1 и номинальным набором значений параметров (m=8, k=500, b=100).

Оценка параметров модели

Модель имеет три параметра (k, b, m), которые появляются в блоках усиления msd_system модели Simulink. Мы оцениваем эти параметры с помощью оценки параметров.

Дважды щелкните значок Parameter Estimation GUI with preloaded data блок в модели для открытия предварительно сконфигурированного сеанса GUI оценки. Экспериментальные наборы данных уже загружены в проект (data_exp1 и data_exp2). Перейдите на вкладку Вид (View), чтобы разместить графики таким образом, чтобы Experiment plot:data_exp1 и Experiment plot:data_exp2 являются видимыми. Щелкните График (Plot) Реакция модели (Model Response), чтобы смоделировать модель для двух экспериментов. Графики показывают, что моделирование модели не соответствует данным эксперимента.

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

Приложение настроено для оценки параметров модели с использованием обоих data_exp1 и data_exp2 выберите «Выбрать параметры» для просмотра выбранных параметров и «Выбрать эксперименты» для просмотра экспериментов, выбранных для оценки.

Щелкните Оценка (Estimate), чтобы начать оценку. Вы можете изменить параметры оценки, установив выпадающий список Cost Function и нажав Дополнительные опции....

Во время выполнения оценки графики обновляются, и появляется диалоговое окно, показывающее ход выполнения оценки. Диалоговое окно хода выполнения показывает итерации оценки, количество раз, когда модель была оценена (F-count), и стоимость оценки для каждой итерации.

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

data_exp1 и data_exp2 графики эксперимента показывают, что параметры модели были настроены так, чтобы максимально точно соответствовать измеренным данным эксперимента. Моделируемые измеренные сигналы хорошо совпадают с 2-секундной меткой, но не совпадают до 2 секунд. Результаты моделирования для обоих экспериментов начинаются с -0.1. Это первоначальное состояние модели, которое не было оценено; эти графики показывают, что первоначальное состояние также должно быть оценено.

Оценка параметров с оценкой начального состояния

data_exp1 и data_exp2 эксперименты задают измеренные выходные данные, но, как видно выше, также должны указывать исходное состояние модели. Теперь мы добавляем начальные состояния к экспериментам и оцениваем их.

Щелкните правой кнопкой мыши data_exp1 и выберите Изменить... , чтобы открыть диалоговое окно для настройки эксперимента.

Щелкните Выбрать начальные состояния (Select Initial States) и выберите состояние позиции. Нажмите кнопку ОК, чтобы закрыть селектор состояния и добавить выбранное состояние в эксперимент.

Щелкните правой кнопкой мыши data_exp2 и выберите Изменить.. и добавьте состояние положения к эксперименту.

Теперь эксперименты сконфигурированы так, чтобы включать начальные состояния, которые могут быть оценены. Щелкните Выбрать параметры (Select Parameters).

Верхняя часть диалогового окна выбора параметров имеет раздел для параметров, настроенных с использованием всех экспериментов, выбранных для оценки. В нижней части диалогового окна имеется поле со списком для выбора эксперимента и виджетов для задания начальных состояний и параметров, настроенных с использованием только выбранного эксперимента. Для этой проблемы data_exp1 и data_exp2 эксперименты оценивают исходное состояние модели для каждого эксперимента.

Теперь мы готовы начать нашу оценку, но сначала создать графики для мониторинга хода оценки. Щелкните Добавить график (Add Plot) и выберите Параметр Траектория (Parameter Trajectory), щелкните правой кнопкой мыши график и выберите Показать масштабированные значения (Show scaled values). При этом создается график, показывающий, как значения расчетных параметров изменяются во время оценки. Перейдите на вкладку Вид (View), чтобы разместить графики таким образом, чтобы Experiment plot:data_exp1, Experiment plot:data_exp2, и Iteration plot 1 являются видимыми.

Нажмите кнопку Оценка (Estimate), чтобы начать оценку.

После ряда итераций оценка сходится и заканчивается. data_exp1 и data_exp2 экспериментальные графики показывают, как оценка начального значения улучшает приближение оценки. EstimatedParams график показывает предполагаемое начальное состояние для двух экспериментов, график также показывает, что оцененное k значение не изменилось, пока b и m немного изменился. Вы можете подтвердить это, нажав EstimatedParams и просмотр области предварительного просмотра, а затем щелчок EstimatedParams1 и просмотр области предварительного просмотра. Либо щелкните правой кнопкой мыши EstimatedParams и выберите Открыть... для открытия диалогового окна для просмотра результатов.

Этот пример показывает, что важно независимо оценивать начальные состояния для каждого эксперимента, чтобы получить правильные оценки параметров модели.

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

Чтобы узнать, как оценить параметры модели и начальные состояния с помощью sdo.optimize см. раздел Оценка параметров модели и начальных состояний (код).

Закрыть модель