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

В этом примере показано, как автоматически сгенерировать функцию MATLAB®, чтобы решить задачу оценки параметра. Вы используете Parameter Estimator, чтобы описать задачу оценки для массового пружинного демпфера и сгенерировать код MATLAB, чтобы решить эту задачу оценки.

Проблема оценки массового демпфера Spring

Оценочные Параметры модели и начальные состояния (графический интерфейс пользователя), который показывает пример, как использовать Parameter Estimator, чтобы оценить параметры модели массового пружинного демпфера. В этом примере вы загружаете предварительно сконфигурированный сеанс Parameter Estimator на основе того примера.

Используйте следующие команды, чтобы загрузить предварительно сконфигурированный сеанс оценки.

load sdoMassSpringDamper_sdosession
spetool(SDOSessionData)

Сгенерируйте код MATLAB

Из списка Оценок выберите Generate MATLAB Code.

Сгенерированный код добавляется к редактору MATLAB как несохраненная функция MATLAB.

Исследуйте сгенерированный код. Значительные фрагменты кода:

  • Задайте Параметры модели, чтобы Оценить - Определение оцениваемых параметров модели.

  • Задайте Эксперименты Оценки - Определение измеренных и ожидаемых данных сигнала, чтобы использовать для оценки.

  • Создайте Целевую функцию Оценки - Создание анонимной функции, которая вызывает подфункциональный msd_system_optFcn, который оценивает модель с помощью каждого эксперимента и сравнивает симуляцию и измеренный эксперимент выходные параметры. Эта анонимная функция вызвана sdo.optimize в каждой итерации задачи оптимизации, чтобы решить задачу оценки.

  • Оцените, что Параметры - Решают задачу оценки с помощью sdo.optimize команда.

Выберите Save из редактора MATLAB, чтобы сохранить сгенерированную функцию.

Запустите сгенерированный код

Запустите сгенерированную функцию.

Первый выходной аргумент, pOpt, содержит оптимизированные значения параметров и второй выходной аргумент, optInfo, содержит информацию об оптимизации.

Измените сгенерированный код

Вы можете:

  • Измените сгенерированный spe_msd_system функция, чтобы включать или исключить новые эксперименты или опции оценки изменения.

  • Вызовите сгенерированный spe_msd_system функция с различным набором параметров, чтобы оценить.

Для получения дополнительной информации о том, как записать, цель/ограничение функционирует, чтобы использовать с sdo.optimize команда, введите help sdoExampleCostFunction в командной строке MATLAB.

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