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