В этом примере выполняется параллельное моделирование модели. slexAircraftExample с различными временными константами входного фильтра и показывает несколько способов доступа к данным с помощью программного интерфейса Simulation Data Inspector.
Установка
Сначала убедитесь, что инспектор данных моделирования пуст, а поддержка панели инструментов параллельных вычислений настроена на автоматический импорт запусков, созданных на локальных рабочих. Затем создайте вектор значений параметров фильтра для использования в каждом моделировании.
Инициализация параллельных работников
Используйте gcp для создания пула локальных работников для выполнения параллельных моделирований, если они еще не созданы. В spmd кодовый блок, загрузите slexAircraftExample и выберите сигналы для регистрации. Чтобы избежать проблем параллелизма данных, используйте sim в parforсоздайте временный каталог для каждого работника, который будет использоваться во время моделирования.
Starting parallel pool (parpool) using the 'local' profile ...
connected to 4 workers.
Запустить параллельное моделирование
Использовать parfor для параллельного выполнения семи имитаций. Выберите значение для Ts для каждого моделирования и изменить значение Ts в рабочем пространстве модели. Затем запустите моделирование и создайте массив Simulink.sdi.WorkerRun для доступа к данным с помощью инспектора расчетных данных. После parfor цикл, использовать другой spmd для удаления временных каталогов из рабочих.
Получение объектов набора данных из выходных данных параллельного моделирования
getDataset метод помещает данные из WorkerRun в Dataset чтобы можно было легко выполнить постобработку.
ans =
Simulink.SimulationData.Dataset '' with 2 elements
Name BlockPath
__________ ________________________________________
1 [1x1 Signal] alpha, rad ...rcraftExample/Aircraft Dynamics Model
2 [1x1 Signal] Stick slexAircraftExample/Pilot
- Use braces { } to access, modify, or add elements using index.
Получение объектов DatasetRef из выходных данных параллельного моделирования
Для работы с большими данными используйте getDatasetRef для ссылки на данные, связанные с WorkerRun.
ans =
DatasetRef with properties:
Name: 'Run 3: slexAircraftExample'
Run: [1×1 Simulink.sdi.Run]
numElements: 2
Обработка данных параллельного моделирования в инспекторе данных моделирования
Можно также создать локальный Run объекты для анализа и визуализации данных с помощью API инспектора данных моделирования. В этом примере добавляется тег, указывающий значение постоянной времени фильтра для каждого прогона.
Очистить рабочие репозитории
Очистите файлы, используемые работниками для освобождения места на диске для других имитаций, которые вы хотите запустить в пуле работников.