В этом примере показано, как автоматически создать функцию MATLAB для решения задачи оптимизации конструкции. Оптимизатор отклика используется для определения задачи оптимизации для конструкции гидравлического цилиндра и создания кода MATLAB для решения этой задачи оптимизации.
Пример оптимизации конструкции для соответствия пользовательской цели (GUI) показывает, как использовать оптимизатор отклика для оптимизации конструкции цилиндра. В этом примере мы загружаем предварительно настроенный сеанс оптимизатора ответа на основе этого примера.
load sdoHydraulicCylinder_sdosession
Используйте следующую команду, чтобы открыть оптимизатор ответа
sdotool(SDOSessionData)
В списке Оптимизировать (Optimize) выберите Создать код 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 команда.
Для сохранения созданной функции выберите Сохранить в редакторе MATLAB.
Запустите созданную функцию.

Первый выходной аргумент, pOpt, содержит оптимизированные значения параметров и второй выходной аргумент, optInfo, содержит информацию об оптимизации.
Вы можете:
Изменение созданного sdo_sdoHydraulicCylinder включение или исключение новых требований к конструкции или изменение опций оптимизации.
Вызовите сгенерированный sdo_sdoHydraulicCylinder с другим набором параметров для оптимизации.
Для получения подробной информации о том, как написать функцию цели/ограничения для использования с sdo.optimize команда, введите help sdoExampleCostFunction в командной строке MATLAB.
Закрыть модель