Загрузка данных со взаимозаменяемыми сценариями

Чтобы легко обменяться сценариями в моделях, используйте блок Signal Editor. Этот блок отображает, создает, редактирует и переключает сценарии, где сценарии содержат информацию о группах сигналов, таких как:

  • Расположение файлов сигналов (MAT-файл или Microsoft® Excel® файлы)

  • Расположение связанной модели

  • Режим Map

  • Опции отображения

  • Отображенное состояние

Используйте сценарии для обмена группами сигналов в вашей модели, например, при выполнении нескольких симуляций или работе с тестовыми обвязками.

Совет

Этот Signal Editor отображает, создает и редактирует взаимозаменяемые сценарии и лучше интегрирован с другими Simulink® возможности, такие как модули, сигналы в MAT-файлах и редактирование и создание сигналов. Рассмотрите использование блока Signal Editor в моделях, где вы используете блок Signal Builder. Блок Signal Builder не рекомендуется работать с группами сигналов. Для получения дополнительной информации о преимуществах блока Signal Editor, смотрите Замените блок Signal Builder на блок Signal Editor.

Загрузка данных со взаимозаменяемыми сценариями с помощью блока Редактор

Блок Signal Editor получает группы сигналов (сценарии) из MAT-файлов.

Блок имеет три секции.

  • Сценарий - Настройка сценария путем определения MAT-файла, содержащего список сценариев и выбора активного (текущего) сценария.

  • Свойства сигнала - Используйте пользовательский интерфейс Редактор для исследования, создания и редактирования сценариев и связанных сигналов. Пользовательский интерфейс Редактор организует сигналы в соответствии со сценариями, которые их содержат.

  • Параметры - Выберите активный сигнал, который будет выведен и установите характеристики, такие как модуль, шаг расчета, линейная интерполяция и так далее, для активного сигнала. Для изменения активного сигнала используйте раскрывающийся список.

Исследуйте блок Редактор

В этом примере показано, как использовать блок Signal Editor с примером Parallel Simulations Using Parsim: Parameter Sweep in Режим normal mode, который запускает несколько симуляций исследования Монте-Карло параллельно с использованием Toolbox™ Parallel Computing. Параллельное выполнение использует несколько ядер вашей хост-машины, чтобы запустить много симуляций быстрее. Если у вас нет Parallel Computing Toolbox, этот пример запускает симуляции последовательно. Модель моделирует динамику аппарата на основе взаимодействия между дорогой и подвеской для различных профилей дороги. Этот пример хранит свои сценарии профиля дороги в matlab\toolbox\ssldemo_suspn_3dof_sigData.mat файл.

  1. В sldemo_suspn_3dof модель, откройте Signal Editor (именованный Road Profiles) блок.

    Параметр Signal Editor File Name блока содержит MAT-файл sldemo_suspn_3dof_sigData.mat.

    Заметьте, что:

    • Active scenario автоматически переходит к первому сценарию, Road1. Эта установка означает, что оставшаяся часть параметров блоков применяется к сигналам в этом сценарии. Чтобы изменить активный сценарий, выберите новый сценарий из списка сценариев.

    • Active signal автоматически устанавливается на первый сигнал Left tire в активном сценарии, Road1. Эта настройка означает, что оставшаяся часть настроек в разделе Parameter применяется к активному сигналу. Для изменения активного сигнала выберите новый сигнал из списка сигналов.

  2. Исследуйте и редактируйте сценарии в MAT-файле. Нажмите кнопку.

    Пользовательский интерфейс Редактор отображает список сценариев, содержащихся в MAT-файле. Исследуйте и изменяйте сценарии и связанные сигналы. Если вы вносите изменения, можно сохранить их обратно в MAT-файл, нажав Save.

Выходы из блока являются данными активного сигнала. Чтобы симулировать модель последовательно, используя каждый сценарий и сигнал, используйте parsim функция. Эта функция моделирует динамические системы несколько раз параллельно или последовательно. Для примера, как использовать parsim, см. Параллельные симуляции с использованием Parsim: Parameter Sweep в режиме Normal Mode.

Замените блок Signal Builder на блок Редактор

Signal Editor обеспечивает подобную функциональность блоку Signal Builder, но с большей гибкостью. Замените Signal Builder на Signal Editor блок. Преимущества Signal Editor блока включают в себя:

  • Хранение данных сигнала в MAT-файле вне модели

  • Редактирование и создание сигналов

  • Поддержка атрибутов сигнала Simulink, таких как размерность и сложность

  • Поддержка стандартных типов данных Simulink, включая шину и фиксированную точку

  • Уникальные типы данных уровня сигнала для выходов

  • Множественные скорости для выходов

  • Поддержка модулей Simulink

  • Обнаружение пересечения нуля и интерполяция данных уникальны для каждого сигнала

Чтобы портировать данные сигнала и свойства из блока Signal Builder в Signal Editor блок, используйте signalBuilderToSignalEditor функция. Для текущей модели эта функция сохраняет в MAT-файле данные сигнала и свойства из существующего блока Signal Builder, добавляет блок Signal Editor к текущей модели и изменяет блок Signal Editor, чтобы ссылаться на новый MAT-файл.

Пример см. в разделе Замена блока Signal Builder на блок Signal Editor.

Факторы

Преобразование из блока Signal Builder в блок Signal Editor относительно простое использование signalBuilderToSignalEditor функция. Однако примите во внимание эти факторы:

  • Внутренний формат хранения и предварительная обработка данных различаются между блоками Signal Builder и Signal Editor. При использовании решателя переменного шага в двух блоках происходят различные временные шаги симуляции и несоответствующий выход. Чтобы минимизировать различие между выходами обоих блоков, можно:

    • Уменьшите значение Max step size переменного решателя шага.

    • Вставьте больше точек данных в входной сигнал блока Signal Editor, чтобы лучше представлять его форму.

    • Используйте решатель с фиксированным шагом или установите шаг расчета для обоих блоков на один и тот же дискретный шаг расчета (больше 0). Для получения дополнительной информации о дискретных шагах расчета, см. «Дискретный шаг расчета».

  • Блок Signal Builder поддерживает только удвоение. Чтобы изменить тип данных или иначе изменить сигналы после преобразования, нажмите кнопку в блоке Signal Editor, чтобы получить доступ к пользовательскому интерфейсу Редактор.

Получите количество сценариев и сигналов

Чтобы программно получить общее количество сценариев и сигналов в блоке Signal Editor, используйте get_param NumberOfScenarios и NumberOfSignals свойства. Значения этих свойств являются векторами символов. Чтобы преобразовать эти значения в двойные, используйте str2double функция.

NumberOfScenarios и NumberOfSignals доступны только свойства, доступные только для чтения get_param. Диалоговое окно блока не содержит этих значений.

См. также

| |

Похожие темы