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

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

Проект Гидравлического Цилиндра

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

load sdoHydraulicCylinder_sdosession

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

sdotool(SDOSessionData)

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

В списке Optimize выберите 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 функция с другим набором параметров для оптимизации.

Для получения дополнительной информации о том, как написать функцию objective/constraint для использования со sdo.optimize команда, введите help sdoExampleCostFunction в командной строке MATLAB.

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

Для просмотра документации необходимо авторизоваться на сайте