В этом примере показано, как автоматически сгенерировать функцию MATLAB, чтобы решить Задачу оптимизации Проекта. Вы используете инструмент Response Optimization, чтобы задать задачу оптимизации для гидравлического цилиндра, проектируют и генерируют код MATLAB, чтобы решить эту задачу оптимизации.
"Оптимизация проекта, чтобы Достигнуть Пользовательской Цели Используя Response Optimization Tool" пример показывает, как использовать инструмент Response Optimization, чтобы оптимизировать цилиндрический проект. В этом примере мы загружаем предварительно сконфигурированный сеанс инструмента Response Optimization на основе того примера.
load sdoHydraulicCylinder_sdosession
Используйте следующую команду, чтобы открыть инструмент Response Optimization
sdotool(SDOSessionData)
Из Оптимизировать списка выберите Generate MATLAB Code.
Сгенерированный код добавляется к редактору MATLAB как несохраненная функция MATLAB.
Исследуйте сгенерированный код. Значительные фрагменты кода:
Specify Design Variables
- Определение параметров модели оптимизировано.
Specify Design Requirements
- Определение конструктивных требований.
Create Optimization Objective Function
- Создание анонимной функции, которая вызывает подфункциональный sdoHydraulicCylinder_optFcn
, который оценивает цилиндрический проект. sdo.optimize
вызывает анонимную функцию в каждой итерации.
Evaluate custom parameter requirement functions
- Оценивает пользовательское требование, MinimizeAC
, это использует sdoHydraulicCylinder_customObjective
функция.
Optimize the Design
- Оптимизация с помощью sdo.optimize
команда.
Выберите Save из редактора MATLAB, чтобы сохранить сгенерированную функцию.
Запустите сгенерированную функцию.
Первый выходной аргумент, pOpt
, содержит оптимизированные значения параметров и второй выходной аргумент, optInfo
, содержит информацию об оптимизации.
Вы можете:
Измените сгенерированный sdo_sdoHydraulicCylinder
функция, чтобы включать или исключить новые конструктивные требования или изменить опции оптимизации.
Вызовите сгенерированный sdo_sdoHydraulicCylinder
функция с различным набором параметров, чтобы оптимизировать.
Для получения дополнительной информации о том, как записать, цель/ограничение функционирует, чтобы использовать с sdo.optimize
команда, введите help sdoExampleCostFunction
в командной строке MATLAB.
Закройте модель