parsim команда позволяет вам идти параллельно (одновременные) симуляции Simulink® своей модели (проект). В этом контексте параллельные запуски означают несколько симуляций одновременно на различных рабочих. parsim дает возможность для вас запускать ту же модель с различными входными параметрами, или различные установки параметров в сценариях, таких как Монте-Карло анализирует, развертки параметра, тестирование модели, проект эксперимента и оптимизация модели. Выполнение одной параллельной симуляции путем разложения модели на меньшие компоненты и выполнения тех отдельных частей одновременно на нескольких рабочих в настоящее время не поддержано.
Запускать параллельные симуляции с parsim, вам нужен Parallel Computing Toolbox™ для локальных рабочих. Кроме того, можно использовать MATLAB® Parallel Server™ в нескольких компьютерных кластерах, облаках и сетках. В отсутствие Parallel Computing Toolbox и MATLAB Parallel Server, parsim запускает симуляции в сериале. Для получения дополнительной информации см. Parallel Computing Toolbox и MATLAB Parallel Server.
Если никакой параллельный пул не существует, parsim создает пул из кластерного профиля по умолчанию. Чтобы использовать кластер кроме значения по умолчанию, создайте пул с тем кластерным профилем прежде, чем вызвать parsim.
Этот пример запускает несколько параллельных симуляций для набора параметров развертки.
% 1) Load model model = 'sldemo_suspn_3dof'; load_system(model); % 2) Set up the sweep parameters Cf_sweep = 2500*(0.05:0.1:0.95); numSims = numel(Cf_sweep); % 3) Create an array of SimulationInput objects and specify the sweep value for each simulation simIn(1:numSims) = Simulink.SimulationInput(model); for idx = 1:numSims simIn(idx) = simIn(idx).setBlockParameter([model '/Road-Suspension Interaction'], 'Cf', num2str(Cf_sweep(idx))) end % 4) Simulate the model simOut = parsim(simIn)
parsim работаетparsim симуляции запусков различными параметрами и значениями на основе Simulink.SimulationInput объект. Каждый SimulationInput объект задает одну симуляцию модели. Массив этих объектов может быть создан для нескольких симуляций. Для получения дополнительной информации смотрите Запуск Несколько Симуляций.
Можно использовать следующие методы и свойства на Simulink.SimulationInput объект:
setVariables - Замените переменные в базовом рабочем пространстве, словаре данных или рабочем пространстве модели
setBlockParameters - Измените параметры блоков
setModelParameters - Измените параметры модели
setPreSimFcn - Задайте функции MATLAB, чтобы запуститься перед каждой симуляцией для результатов индивидуальной настройки и последующей обработки на кластере
setPostSimFcn - Задайте функции MATLAB, чтобы выполняться после каждой симуляции для результатов индивидуальной настройки и последующей обработки на кластере
InitialState - Измените начальное состояние
ExternalInput - Задайте числовой массив, timeseries или объект Dataset как внешние входные параметры к модели
Эта блок-схема показывает общую последовательность событий, которые происходят когда parsim выполняется

Изменения в библиотечных блоках модели могут быть перезаписаны при использовании parsim. Когда модели настраиваются на новых рабочих, модель наследовала свойства непосредственно от библиотеки рабочего. Используйте SetUpFcn с parsim передавать изменения библиотечного блока модели в рабочих.
ExternalInput | Simulation Manager | Simulink.SimulationInput | applyToModel | setBlockParameter | setInitialState | setModelParameter | setPostSimFcn | setPreSimFcn | setVariable | validate