parsim позволяет выполнять параллельное (одновременное) моделирование модели (конструкции) Simulink ®. В этом контексте параллельные прогоны означают одновременное многократное моделирование различных работников .parsim упрощает выполнение одной и той же модели с различными входами или различными настройками параметров в таких сценариях, как анализ Монте-Карло, протягивание параметров, тестирование модели, конструирование эксперимента и оптимизация модели. Параллельное выполнение одного моделирования путем разложения модели на более мелкие компоненты и одновременное выполнение этих отдельных элементов на нескольких рабочих не поддерживается в настоящее время.
Выполнение моделирования параллельно с parsim, вам нужна Toolbox™ параллельных вычислений для местных работников. Кроме того, MATLAB ® Parallel Server™ можно использовать для нескольких компьютерных кластеров, облаков и сеток. В отсутствие панели инструментов параллельных вычислений и параллельного сервера MATLAB parsim запускает моделирование в серийном формате. Дополнительные сведения см. в разделах Панель инструментов параллельных вычислений и Параллельный сервер MATLAB.
Если параллельный пул не существует, 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 - укажите числовой массив, временные ряды или объект Dataset в качестве внешних входных данных для модели;
Эта блок-схема показывает общую последовательность событий, которые происходят, когда parsim выполняется

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