Эта тема показывает, как ускорить оптимизацию ответа с помощью Simulink® быстрый перезапуск. Можно использовать быструю функцию перезапуска, чтобы ускорить оптимизацию ответа настраиваемых параметров модели.
Быстрый перезапуск позволяет вам выполнить итеративные симуляции, не компилируя модель или отключая симуляцию каждый раз. Используя быстрый перезапуск, вы компилируете модель только однажды. Вы можете затем настройки параметров и симулировать модель снова, не проводя время на компиляции. Быстрый перезапуск сопоставляет несколько фаз симуляции с одной фазой компиляции, чтобы сделать итеративные симуляции более эффективными. Вы видите, что ускорение задач оптимизации проекта с помощью быстро перезапускает в моделях, которые имеют длинную фазу компиляции. Смотрите, Как Быстрый Перезапуск Улучшает Итеративные Симуляции.
Когда вы включаете быстрый перезапуск, можно только изменить настраиваемые свойства модели в процессе моделирования. Для получения дополнительной информации об ограничениях, смотрите Ограничения.
Можно оптимизировать использование, быстро перезапускают в Response Optimizer (Не поддерживаемый в Simulink Online™) или в командной строке.
Чтобы оптимизировать ответ модели с помощью быстро перезапускают в Response Optimizer:
Откройте модель Simulink.
Включите быстрый перезапуск в модели.
Нажмите Fast Restart в окне модели.
Откройте Response Optimizer для модели.
Сконфигурируйте переменные проекта, конструктивные требования, и, опционально, настройки оптимизации.
Для получения дополнительной информации смотрите, Задают Переменные Проекта, Задают Конструктивные требования Временного интервала в Приложении, Задают Конструктивные требования Частотного диапазона в Приложении и Задают Опции Оптимизации.
Нажмите 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');
Вы видите, что ускорение задач оптимизации проекта с помощью быстро перезапускает в моделях, которые имеют длинную фазу компиляции. Если фаза компиляции вашей модели не длинна, вы не видите существенного изменения в скорости оптимизации.
sdo.SimulationTest
| sdo.optimize
| fastRestart