exponenta event banner

Создание кода MATLAB для проблем оценки параметров (GUI)

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

Проблема оценки массы-пружины-демпфера

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

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

load sdoMassSpringDamper_sdosession
spetool(SDOSessionData)

Создание кода MATLAB

В списке Оценка выберите Создать код MATLAB.

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

Проверьте сформированный код. Значимыми частями кода являются:

  • Specify Model Parameters to Estimate - Определение оцениваемых параметров модели.

  • Define the Estimation Experiments - Определение измеренных и ожидаемых данных сигнала, которые будут использоваться для оценки.

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

  • Estimate the Parameters - Решить задачу оценки с помощью sdo.optimize команда.

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

Выполнить сгенерированный код

Запустите созданную функцию.

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

Изменение созданного кода

Вы можете:

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

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

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

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