Используйте быстрый режим перезапуска во время оптимизации ответа

В этой теме показано, как ускорить оптимизацию отклика с помощью Simulink® быстрый перезапуск. Можно использовать функцию быстрого перезапуска, чтобы ускорить оптимизацию отклика настраиваемых параметров модели.

Быстрый перезапуск позволяет вам выполнять итерационные симуляции, не компилируя модель или завершая симуляцию каждый раз. Используя быстрый перезапуск, вы компилируете модель только один раз. Затем можно настроить параметры и снова симулировать модель, не тратя время на компиляцию. Быстрый перезапуск связывает несколько фаз симуляции с одной фазой компиляции, чтобы сделать итерационные симуляции более эффективными. Вы видите ускорение задач оптимизации проекта с помощью быстрого перезапуска в моделях, которые имеют длинную фазу компиляции. Смотрите, как быстрый перезапуск улучшает итеративные симуляции.

Когда вы включаете быстрый перезапуск, можно изменять настраиваемые свойства модели только во время симуляции. Для получения дополнительной информации об ограничениях см. «Ограничения».

Можно оптимизировать с помощью быстрого перезапуска в Response Optimizer (Не поддерживается в Simulink Online™) или в командной строке.

Рабочий процесс приложения Response Optimizer для быстрого перезапуска

Чтобы оптимизировать ответ модели с помощью быстрого перезапуска в Response Optimizer:

  1. Откройте модель Simulink.

  2. Включите быстрый перезапуск в модели.

    Щелкните Fast Restart в окне модели.

  3. Откройте Response Optimizer для модели.

  4. Сконфигурируйте переменные проекты, требования к проектированию и, опционально, настройки оптимизации.

    Для получения дополнительной информации смотрите «Задать переменные проекта», «Задать требования проект во временной области» в Приложении, «Задать требования к проектированию в частотном диапазоне» в Приложении и «Задать опции оптимизации».

  5. Щелкните Optimize, чтобы оптимизировать ответ модели в режиме быстрого перезапуска.

  6. Отключить быстрый перезапуск.

    В окне модели нажмите Fast Restart.

Рабочий процесс командной строки для быстрого перезапуска

Чтобы оптимизировать ответ модели с помощью быстрого перезапуска в командной строке:

  1. Откройте модель Simulink.

  2. Создайте сценарий симуляции модели. Перед конфигурированием модели для быстрого перезапуска необходимо создать сценарий симуляции с регистрационной информацией. Вы не можете изменять сведения о регистрации после компиляции модели для быстрого перезапуска.

    Simulator = sdo.SimulationTest('model');

    Задайте сигналы модели для регистрации во время симуляции модели.

    Для задач оптимизации отклика, которые включают требования частотного диапазона, модель линеаризируется с помощью Simulink Control Design™. Используйте SystemLoggingInfo свойство sdo.SimulationTest объект, Simulator, чтобы задать линейные системы для регистрации при симуляции модели. Для получения примера смотрите Оптимизацию проекта, чтобы соответствовать Частотный диапазон требованиям ( Кодам).

    Примечание

    В режиме быстрого перезапуска вы не можете использовать linearize (Simulink Control Design) команда из Simulink Control Design для определения и вычисления линейных систем. Используя linearize (Simulink Control Design) генерирует ошибку.

  3. Задайте требования проект, Requirements, и конструктивные переменные, param. Для и пример смотрите Оптимизация проекта для удовлетворения Переходной характеристики требований ( Кодов).

  4. Сконфигурируйте модель и сценарий симуляции для быстрого перезапуска.

    Simulator = fastRestart(Simulator,'on');
  5. Создайте функцию оптимизации затрат, myCostfcn, и передайте Simulator в функцию затрат как вход. Для получения дополнительной информации смотрите Написание функции затрат. В функции стоимости симулятор, сконфигурированный для быстрого перезапуска, используется, чтобы обновить параметры модели, симулировать модель и зарегистрировать сигналы.

    Используйте анонимную функцию с одним аргументом, который вызывает myCostfcn.

    optimfcn = @(param) myCostfcn(param,Simulator,Requirements);
    

    Здесь, myCostfcn - функция затрат, которая принимает проект переменных, param, сценарий симуляции, Simulator, и требования к проектированию, Requirements, как входы.

  6. Запустите оптимизацию.

    [param_opt,opt_info] = sdo.optimize(optimfcn,param);
  7. Восстановите настройки быстрого перезапуска симулятора.

    Simulator = fastRestart(Simulator,'off');

Поиск и устранение проблем

Почему я не вижу ускорение оптимизации, которое я ожидал использовать быстрый перезапуск?

Вы видите ускорение задач оптимизации проекта с помощью быстрого перезапуска в моделях, которые имеют длинную фазу компиляции. Если фаза компиляции вашей модели не длинная, вы не видите значительного изменения скорости оптимизации.

См. также

| |

Похожие темы