Этот пример показывает, как автоматически сгенерировать функцию 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.
Закройте модель