Оцените параметры модели и начальные состояния (графический интерфейс пользователя)

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

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

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

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

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

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

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

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

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

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

Инструмент был сконфигурирован, чтобы оценить, что параметры модели с помощью и data_exp1 и экспериментов data_exp2, нажимают Select Parameters, чтобы видеть выбранные параметры и Выбрать Experiments, чтобы видеть эксперименты, выбранные для оценки.

Нажмите Estimate, чтобы запустить оценку. Можно изменить опции оценки путем установки поля комбинированного списка Cost Function и нажатия на More Options....

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

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

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

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

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

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

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

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

Эксперименты теперь сконфигурированы, чтобы включать начальные состояния, которые могут быть оценены. Нажмите Select Parameters.

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

Теперь мы готовы запустить нашу оценку, но сначала создать графики контролировать прогресс оценки. Нажмите Add Plot и выберите Parameter Trajectory, щелкните правой кнопкой мыши по графику и выберите масштабируемые значения Show. Это создает график, который показывает, как предполагаемые значения параметров изменяются во время оценки. Кликните по вкладке View к размещению графики так, чтобы Experiment plot:data_exp1, Experiment plot:data_exp2 и Iteration plot 1 были оба видимы.

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

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

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

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

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

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