exponenta event banner

Выполнение нескольких моделирований

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

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

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

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

При отсутствии лицензии Parallel Computing Toolbox, parsim ведет себя как sim команда. Затем моделирование выполняется в серийном формате.

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

Можно внести изменения в модель с помощью Simulink.SimulationInput и запустить моделирование параллельно с этими изменениями. Изменение Simulink.SimulationInput переопределяет значения в модели. В моделировании используются значения в Simulink.SimulationInput вместо значений, определенных в модели. Таким образом, можно изменить модель, не загрязняя ее. Simulink.SimulationInput объект позволяет изменить эти настройки в модели:

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

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

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

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

  • Переменные

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

При использовании Simulink.SimulationInput после завершения моделирования восстанавливаются параметры модели. См. раздел Выполнение параллельного моделирования с использованием синтаксического анализа.

Примечание

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

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

  • Вывод ошибок в объекте вывода моделирования для упрощения отладки

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

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

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

  • Возможность передачи базовых переменных рабочей области работникам

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

Диспетчер моделирования

Диспетчер моделирования позволяет контролировать несколько параллельных моделирований. Он показывает ход выполнения прогонов при их параллельном выполнении. Можно просмотреть сведения о каждом запуске, такие как параметры, прошедшее время и диагностика. Диспетчер моделирования выступает в качестве полезного инструмента, предоставляя возможность анализа и сравнения результатов в инспекторе данных моделирования. Можно также выбрать участок и применить его значения к модели. Дополнительные сведения см. в разделе 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. Чтобы уменьшить потребность в памяти, рекомендуется выполнить вход в постоянное хранилище для параллельного моделирования. При выборе параметра конфигурации Импорт/экспорт данных > Данные набора данных журнала в файл (LoggingToFile), для параллельного моделирования в Simulink:

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

  • A Simulink.SimulationData.DatasetRef создается для каждого элемента Dataset (например, logsout) для каждого моделирования

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

См. также

| | | | | | | | | |

Связанные темы