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

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

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

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

load sdoHydraulicCylinder_sdosession

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

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.

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