Для рабочих процессов, которые включают несколько параллельных моделирований и протоколирование больших объемов данных, можно создавать наборы моделирования с помощью массива 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 объекты, используемые для потоковой передачи зарегистрированных данных из постоянного хранилища в модель.
applyToModel | parsim | setBlockParameter | setExternalInput | setInitialState | setModelParameter | setPostSimFcn | setPreSimFcn | setVariable | Simulink.SimulationInput | validate