Эта тема показывает, как убыстриться, оптимизация ответа с помощью Simulink® быстро перезапускают. Можно использовать быструю функцию перезапуска, чтобы ускорить оптимизацию ответа настраиваемых параметров (Simulink) модели.
Быстрый перезапуск позволяет вам выполнить итеративные симуляции, не компилируя модель или отключая симуляцию каждый раз. Используя быстрый перезапуск, вы компилируете модель только однажды. Вы можете затем настройки параметров и моделировать модель снова, не проводя время на компиляции. Быстрый перезапуск сопоставляет несколько фаз симуляции с одной фазой компиляции, чтобы сделать итеративные симуляции более эффективными. Вы видите, что ускорение задач оптимизации проекта с помощью быстро перезапускает в моделях, которые имеют длинную фазу компиляции. Смотрите, Как Быстрый Перезапуск Улучшает Итеративные Симуляции (Simulink).
Когда вы включаете быстрый перезапуск, можно только изменить настраиваемые свойства модели во время симуляции. Для получения дополнительной информации об ограничениях, смотрите Ограничения (Simulink).
Можно оптимизировать использование, быстро перезапускают в инструменте Response Optimization или в командной строке.
Чтобы оптимизировать образцовый ответ с помощью быстро перезапускают в инструменте Response Optimization:
Откройте модель Simulink.
Включите быстрый перезапуск в модели.
Нажмите Fast Restart в окне модели.
Откройте инструмент Response Optimization для модели.
Сконфигурируйте переменные проекта, конструктивные требования, и, опционально, настройки оптимизации.
Для получения дополнительной информации смотрите, Задают Переменные Проекта, Задают Конструктивные требования Временного интервала в Инструменте, Задают Конструктивные требования Частотного диапазона в Инструменте и Задают Опции Оптимизации.
Нажмите Optimize, чтобы оптимизировать образцовый ответ в быстром режиме перезапуска.
Отключите быстрый перезапуск.
В окне модели нажмите Fast Restart .
Чтобы оптимизировать образцовый ответ с помощью быстро перезапускают в командной строке:
Откройте модель Simulink.
Создайте сценарий симуляции модели. Необходимо создать сценарий симуляции с журналированием информации прежде, чем сконфигурировать модель для быстрого перезапуска. Вы не можете изменить информацию о журналировании, если модель была скомпилирована для быстрого перезапуска.
Simulator = sdo.SimulationTest('model');
Задайте образцовые сигналы регистрировать во время симуляции модели.
Для задач оптимизации ответа, которые включают требования частотного диапазона, модель линеаризуется с помощью Simulink Control Design™. Используйте свойство SystemLoggingInfo
объекта sdo.SimulationTest
, Simulator
, чтобы задать линейные системы, чтобы регистрировать при симуляции модели. Для примера смотрите Оптимизацию Проекта, чтобы Удовлетворить Требования Частотного диапазона (Код).
Задайте конструктивные требования, Requirements
, и разработайте переменные, param
. Для и пример, смотрите Оптимизацию Проекта, чтобы Удовлетворить Требования Переходного процесса (Код).
Сконфигурируйте модель и сценарий симуляции для быстрого перезапуска.
Simulator = fastRestart(Simulator,'on');
Создайте функцию стоимости оптимизации, myCostfcn
, и передайте Simulator
функции стоимости как вход. Для получения дополнительной информации смотрите Запись Функция стоимости. В функции стоимости средство моделирования, сконфигурированное для быстрого перезапуска, используется, чтобы обновить параметры модели, моделировать модель и логарифмические сигналы.
Используйте анонимную функцию с одним аргументом, который вызывает myCostfcn
.
optimfcn = @(param) myCostfcn(param,Simulator,Requirements);
Здесь, myCostfcn
является функцией стоимости, которая берет переменные проекта, param
, сценарий симуляции, Simulator
, и конструктивные требования, Requirements
, как входные параметры.
Запустите оптимизацию.
[param_opt,opt_info] = sdo.optimize(optimfcn,param);
Восстановите средство моделирования, быстро перезапускают настройки.
Simulator = fastRestart(Simulator,'off');
Вы видите, что ускорение задач оптимизации проекта с помощью быстро перезапускает в моделях, которые имеют длинную фазу компиляции. Если фаза компиляции вашей модели не длинна, вы не видите существенного изменения в скорости оптимизации.
fastRestart
| sdo.SimulationTest
| sdo.optimize