Этот пример показывает, как оценить физические параметры - масса (m), коэффициент упругости (k) и ослабляющий (b) простой модели массового пружинного демпфера. Этот пример иллюстрирует значение оценки начального состояния.
Модель 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
, см. "Оценочные Параметры модели и начальные состояния (Код)".
Закройте модель