Запуск нескольких симуляций

Для рабочих процессов, которые включают несколько параллельных симуляций и логгирование больших объемов данных, можно создать наборы симуляций с помощью массива Simulink.SimulationInput объекты. Это полезно в таких сценариях, как проверка модели, проект эксперимента, анализ Монте-Карло и оптимизация модели.

Использование массивов Simulink.SimulationInput объекты упрощают выполнение нескольких симуляций и их параллельное выполнение. С помощью Parallel Computing Toolbox™ можно использовать parsim и batchsim команды для запуска параллельных симуляций.

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

batchsim команда выгружает симуляции в вычислительный кластер. Выполнение симуляций происходит на кластере, что дает вам возможность выполнять другие задачи во время обработки пакетного задания или закрыть клиентский MATLAB® и получите доступ к пакетному заданию позже.

В отсутствие лицензии Parallel Computing Toolbox, parsim ведет себя как sim команда. Затем симуляции выполняются последовательно.

The batchsim команда использует лицензию Parallel Computing Toolbox™, чтобы запустить симуляции в вычислительном кластере. batchsim запускает симуляции последовательно, если параллельный пул не может быть создан. Если лицензия Parallel Computing Toolbox не используется, batchsim ошибки.

Вы можете внести изменения в модель, используя Simulink.SimulationInput и запустите параллельную симуляцию с этими изменениями. Изменение Simulink.SimulationInput object, переопределяет значения в модели. В симуляции используются значения в Simulink.SimulationInput объект, а не значения, заданные в модели. Таким образом можно изменить модель, не задирая её. The Simulink.SimulationInput Объект позволяет вам изменить эти настройки в модели:

  • Начальное состояние

  • Внешние входы

  • Параметры модели

  • Параметры блоков

  • Переменные

Через Simulink.SimulationInput объект, можно также задать функции MATLAB, чтобы запустить в начале и в конце каждой симуляции при помощи PreSimFcn и PostSimFcn соответственно.

Когда вы используете Simulink.SimulationInput объекты, параметры модели восстанавливаются после окончания симуляции. См. «Выполняйте параллельные симуляции с использованием parsim».

Примечание

Когда пул еще не открыт и симуляции выполняются впервые, для запуска симуляций требуется дополнительное время. Последующие параллельные симуляции выполняются быстрее.

Другие преимущества

  • Выводит ошибки в выходном объекте симуляции для более легкой отладки

  • Совместимость с быстрым ускорителем и быстрым перезапуском

  • Совместимость с логгированием файлов (для облегчения больших данных)

  • Совместимость с MATLAB Parallel Server™ в дополнение к локальным параллельным пулам

  • Способен передавать базовое рабочее пространство переменные рабочим

  • Избегает ошибок прозрачности

Simulation Manager

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

Логгирование данных для нескольких симуляций

Результат Simulink.SimulationOutput объект, который содержит выходы симуляции, захватывает сообщения об ошибке и метаданные симуляции. Когда вы выбираете параметр конфигурации Data Import/Export > Log Dataset data to file, Simulink® создает Simulink.SimulationData.DatasetRef объект для каждого Dataset сохранен в получившемся файле MAT. Можно использовать DatasetRef объект для доступа к данным для Dataset элемент. Для симуляций, которые выполняются с использованием Simulink.SimulationInput объекты, DatasetRef объект возвращается как часть SimulationOutput объект. В результате у вас есть более быстрый доступ к ним и вам не нужно их создавать.

Параллельные симуляции могут привести к большему количеству записанных данных, чем может храниться память MATLAB. Рассмотрите логгирование в постоянном хранилище для параллельных симуляций, чтобы уменьшить потребность в памяти. При выборе параметра Data Import/Export > Log Dataset to file configuration (LoggingToFile), для параллельных симуляций в Simulink:

  • Данные регистрируются в формате Dataset в MAT-файле

  • A Simulink.SimulationData.DatasetRef Объект создается для каждого элемента Набора данных (для примера, logsout) для каждой симуляции

Можно использовать DatasetRef объекты для доступа к данным для определенного сигнала. Можно создавать matlab.io.datasetore.SimulationDatastore объекты, используемые для потоковой передачи записанных данных из постоянного хранилища в модель.

См. также

| | | | | | | | | |

Похожие темы