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

Этот пример показывает, как автоматически сгенерировать функцию MATLAB, чтобы решить Задачу оптимизации Проекта. Вы используете инструмент Response Optimization, чтобы задать задачу оптимизации для гидравлического цилиндра, разрабатывают и генерируют код MATLAB, чтобы решить эту задачу оптимизации.

Гидравлическая цилиндрическая проблема проектирования

"Оптимизация проекта, чтобы Достигнуть Пользовательской Цели Используя Response Optimization Tool" пример показывает, как использовать инструмент Response Optimization, чтобы оптимизировать цилиндрический проект. В этом примере мы загружаем предварительно сконфигурированный сеанс инструмента Response Optimization на основе того примера.

load sdoHydraulicCylinder_sdosession

Используйте следующую команду, чтобы открыть инструмент Response Optimization

sdotool(SDOSessionData)

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

Из Оптимизировать списка выберите 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.

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