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