Идите параллельно моделирования

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

Чтобы запустить моделирования параллельно с parsim, вам нужны Параллельные вычисления Toolbox™ для локальных рабочих. Кроме того, можно использовать MATLAB® Distributed Computing Server™ для нескольких компьютерных кластеров, облаков и сеток. В отсутствие Parallel Computing Toolbox и MATLAB Distributed Computing Server, parsim запускает моделирования в сериале. Для получения дополнительной информации см. Parallel Computing Toolbox и MATLAB Distributed Computing 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 - Change

  • setModelParameters - Измените параметры модели

  • PreSimFcn - Задайте функции MATLAB, чтобы запуститься перед каждым моделированием для результатов индивидуальной настройки и последующей обработки на кластере

  • PostSimFcn - Задайте функции MATLAB, чтобы бежать за каждым моделированием для результатов индивидуальной настройки и последующей обработки на кластере

  • InitialState - Измените начальное состояние

  • ExternalInput - Задайте числовой массив, timeseries или объект Dataset как внешние входные параметры к модели

Эта блок-схема показывает общую последовательность событий, которые происходят, когда parsim выполняется

Смотрите также

| | | | | | | | | |

Похожие темы

Была ли эта тема полезной?