В этом примере показано, как использовать Simulink.sdi.sendWorkerRunToClient отправлять запуски, созданные с помощью параллельных рабочих процессов, вручную в Данные моделирования Inspector.
Setup
Этот пример запускает несколько симуляций vdp модель, изменяющая значение усиления, Mu. Чтобы настроить для параллельной симуляции, задайте вектор Mu Значения и настройте Данные моделирования Inspector для ручной поддержки Parallel Computing Toolbox.
Инициализация параллельных рабочих процессов
Использование parpool (Parallel Computing Toolbox), чтобы создать пул из четырех параллельных рабочих. Этот пример вызывает parpool внутри оператора if, так что вы создаете параллельный пул, только если у вас его еще нет. Можно использовать spmd (Parallel Computing Toolbox), чтобы запустить код инициализации, общий для всех работников. Для примера загрузите vdp моделируйте и выбирайте сигналы для регистрации в запусках, которые мы можем отправить в Данные Моделирования Inspector на клиентском MATLAB. Чтобы избежать проблем параллелизма данных при симуляции с sim в parfor, создайте временную директорию для каждого работника. После завершения симуляций другой блок spmd удаляет временные директории.
Starting parallel pool (parpool) using the 'local' profile ...
connected to 4 workers.
Выполняйте параллельные симуляции с parfor
Чтобы передать данные от параллельных рабочих процессов в Данные Моделирования Inspector, необходимо запустить параллельные симуляции с помощью parfor (Parallel Computing Toolbox). Каждый рабочий запускает vdp симуляция с другим значением Mu. Simulink не может получить доступ к содержимому parfor цикл, поэтому переменная MuVal определяется в рабочей области работника, где vdp модель может увидеть его, используя assignin.
Доступ к данным и отправка выполнения клиенту MATLAB
Программный интерфейс Данные Моделирования Inspector можно использовать в рабочем режиме так же, как в клиентском MATLAB. Этот пример создает Simulink.sdi.Run объект и присоединяет значение Mu используется в симуляции с Tag свойство.
Закройте временные Директории и просмотрите Запуски в Данные моделирования Inspector
Использование другого spmd раздел, чтобы удалить временные директории, созданные для рабочих процессов после завершения симуляций. В каждой симуляции Simulink.sdi.sendWorkerRunToClient импортировал запуски от всех работников в Данные моделирования Inspector. Можно просмотреть данные и проверить свойства run, чтобы увидеть значение Mu используется во время симуляции.