В этом примере показано, как автоматически создать функцию MATLAB ® для решения задачи оценки параметров. Модуль оценки параметров используется для определения задачи оценки для демпфера с пружиной массы и создания кода MATLAB для решения этой задачи оценки.
Пример «Оценка параметров модели и начальных состояний» (GUI) показывает, как использовать модуль оценки параметров для оценки параметров модели демпфера-пружины массы. В этом примере мы загружаем предварительно сконфигурированный сеанс оценки параметров на основе этого примера.
Используйте следующие команды для загрузки предварительно сконфигурированного сеанса оценки
load sdoMassSpringDamper_sdosession spetool(SDOSessionData)

В списке Оценка выберите Создать код 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.
Закрыть модель