Редактирование и управление переменными рабочей области с помощью Model Explorer

Чтобы узнать все методы, которые можно использовать для создания, редактирования и управления переменными рабочей области, см. Раздел «Создание, редактирование и управление переменными рабочей области».

Нахождение переменных, которые используются моделью или блоком

В Model Explorer можно получить список переменных, которые использует модель или блок. Следующий подход является одним из способов получить этот список переменных:

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

  2. Выберите Find Referenced Variables меню элемента.

Model Explorer возвращает результаты, аналогичные следующим:

Для эффективности Model Explorer использует кэшированную информацию из последней скомпилированной версии модели. Если вы хотите перекомпилировать модель, либо сделайте это вручную, либо в Model Explorer установите значение поля Update diagram yes и повторите поиск.

Можно также использовать следующие подходы для поиска переменных, которые использует модель или блок:

  • В Model Explorer, на панели Model Hierarchy, щелкните правой кнопкой мыши блок или узел модели и выберите Find Referenced Variables элемента меню.

  • В Model Explorer, в строке поиска, используйте for Referenced Variables опция типа поиска.

  • В Simulink® Редактор, щелкните правой кнопкой мыши блок, подсистему или в холсте и выберите Find Referenced Variables элемент меню. Нажатие на холст возвращает результаты для всей модели.

Simulink.findVars функция предоставляет дополнительные опции для возврата информации о переменных рабочей области, которая не доступна из Model Explorer или Редактор.

Для получения информации об ограничениях при поиске ссылочных переменных смотрите Simulink.findVars документация.

Использование набора возвращенных переменных

Для переменной в наборе возвращенных переменных можно найти блоки, которые используют эту переменную (для получения дополнительной информации смотрите Поиск блоков, которые используют определенную переменную). Кроме того, можно экспортировать переменные из возвращенного набора переменных. Для получения дополнительной информации смотрите Экспорт переменных рабочей области.

Поиск блоков, которые используют определенную переменную

В этом примере показано, как использовать Model Explorer, чтобы получить список блоков, которые используют определенную переменную рабочей области.

  1. Откройте модель f14.

  2. Откройте Model Explorer.

  3. На панели Model Hierarchy выберите Base Workspace узел.

  4. На панели Contents щелкните правой кнопкой мыши переменную Mq и выберите Find Where Used.

  5. В диалоговом окне Select a system выберите f14.

  6. Снимите флажок Search in referenced models, начиная с f14 не ссылается ни на какие модели и нажатие кнопки OK.

    С Search in referenced models выбранной, вы можете найти целевую переменную везде, где она используется в иерархии модели-ссылки. Однако нахождение целевой переменной во всей иерархии может занять больше времени.

    Флажок Update diagram to include recent changes по умолчанию снимается, чтобы сэкономить время, избегая ненужных обновлений диаграмм модели. Установите флажок, чтобы включить последние изменения, внесенные вами в модель, путем принудительного обновления схемы.

  7. Нажмите OK в ответ на сообщение, чтобы обновить диаграмму модели.

    Поскольку вы только что открыли модель, необходимо обновить диаграмму модели хотя бы один раз, прежде чем найти переменную. Можно было выбрать Update diagram to include recent changes в диалоговом окне Select a system, чтобы принудительно обновить начальную схему, хотя обычно вы используете эту опцию, когда вносите изменения в модель при выполнении нескольких поисков с Find Where Used.

  8. В Model Explorer отображаются результаты поиска:

    Столбцы свойств, значения которых включают Mq представляют параметры блоков, которые используют Mq переменная. Если столбцы свойств еще не находятся в представлении, то Model Explorer добавляет их в конец отображения результатов поиска.

Можно также найти блоки, которые используют определенную переменную с помощью одного из следующих подходов:

  • В строке поиска выберите for Variable Usage опция типа поиска.

  • На панели Search Results щелкните правой кнопкой мыши переменную и выберите элемент меню Find Where Used.

  • В Model Data Editor щелкните правой кнопкой мыши переменную рабочей области и выберите Find Where Used элемента меню.

Нахождение неиспользованных переменных рабочей области

Можно использовать Model Explorer, чтобы получить список переменных, которые заданы в рабочей области, но не используются моделью или блоком. Один из способов получить этот список переменных - щелкнуть правой кнопкой мыши имя рабочей области на панели Model Hierarchy и выбрать Find Unused Variables элемент меню. Для примера:

  1. Откройте f14 модель.

  2. Откройте Model Explorer.

  3. На панели инструментов поиска установите значение в поле Update diagram yes.

  4. На панели Model Hierarchy щелкните правой кнопкой мыши по Base Workspace Узлом и выберите Find Unused Variables меню элемента.

  5. Model Explorer отображает вывод аналогичный этому:

    Simulink.findVars функция предоставляет дополнительные опции для возврата информации о неиспользуемых переменных рабочей области, которая не доступна из Model Explorer или Редактор.

Изменение переменных рабочей области

В Model Explorer можно использовать Редактор Переменных, чтобы редактировать переменные из MATLAB® базовое рабочее пространство или рабочее пространство модели. Редактор переменных доступен для редактирования больших массивов и структур.

Чтобы открыть Редактор Переменных:

  1. На панели Contents выберите переменную.

  2. На панели Диалоговое окно (правая панель) нажмите кнопку рядом со значением переменной.

  3. В меню выберите Open Variable Editor.

Кроме того, чтобы открыть редактор переменных из панели Contents вместо панели Диалоговое окно, начните редактировать значение переменной, щелкнув соответствующую камеру. Кнопка появится в камере.

Представление массивов с тремя или более размерностями

Когда значение переменной или Simulink.Parameter объект является массивом с тремя или более размерностями, Value столбец отображает массив как выражение, содержащее вызов reshape функция.

Чтобы изменить значения в массиве, измените первый аргумент reshape вызов, который содержит все значения массива в сериализованном векторе. Когда вы добавляете или удаляете элементы вдоль размерности, необходимо также исправить аргумент, который представляет длину изменённой размерности.

Переименовать переменные

В этом примере показано, как использовать Model Explorer для переименования переменной везде, где она используется блоками в моделях Simulink.

  1. Откройте пример модели Modeling a Anti-Lock Braking System sldemo_absbrake. Модель загружает данные в базовое рабочее пространство MATLAB.

  2. Откройте Model Explorer.

  3. На панели Model Hierarchy выберите базовое рабочее пространство.

  4. На панели Contents щелкните правой кнопкой мыши переменную базового рабочего пространства m и выберите Rename All.

  5. В диалоговом окне Select a system щелкните имя модели sldemo_absbrake чтобы выбрать его в качестве контекста для переименования переменной m.

  6. Снимите флажок Search in referenced models и нажмите OK. Модель sldemo_absbrake ссылается на модель sldemo_wheelspeed_absbrake, но только sldemo_absbrake использует переменную m.

    Если Search in referenced models выбран, можно переименовать целевую переменную везде, где она используется в иерархии модели-ссылки. Однако переименование целевой переменной во всей иерархии может занять больше времени.

    Флажок Update diagram to include recent changes по умолчанию снимается, чтобы сэкономить время, избегая ненужных обновлений диаграмм модели. Установите флажок, чтобы включить последние изменения, внесенные вами в модель, путем принудительного обновления схемы.

  7. Нажмите OK в ответ на сообщение, чтобы обновить диаграмму модели.

    Поскольку вы только что открыли модель, необходимо обновить диаграмму модели хотя бы один раз перед переименованием переменной. Можно было выбрать Update diagram to include recent changes в диалоговом окне Select a system, чтобы принудительно обновить начальную схему, хотя обычно вы используете эту опцию, когда вносите изменения в модель при выполнении нескольких операций переименования переменных.

  8. В диалоговом окне Rename All введите новое имя переменной в поле New name и нажмите OK.

    Для просмотра целевых блоков можно использовать гиперссылки в Corresponding blocks разделе диалогового окна Rename All.

Примечание

Вы можете переименовать только переменные, что функция Simulink.findVars поддерживает.

Для помощи с переименованием файлов используйте проект. Смотрите раздел «Автоматическое обновление при переименовании, удалении или удалении файлов».

Сравнение повторяющихся переменных рабочей области

Можно сравнить повторяющиеся переменные, которые хранятся в одной рабочей области или в разных рабочих областях. Например, можно сравнить переменную, хранящуюся в базовом рабочем пространстве, с ее дубликатом, который хранится в рабочем пространстве модели.

  1. Откройте модель и браузер Model Explorer.

  2. На панели инструментов поиска найдите дублируемую переменную. Выберите строки с повторяющимися записями. Затем щелкните правой кнопкой мыши и выберите Compare Selected.

  3. Проверьте различия в Comparison Viewer.

Экспорт переменных рабочей области

Можно экспортировать (сохранить) набор переменных, перечисленных в Model Explorer, экспортируя либо отдельные переменные, либо все переменные в базовое рабочее пространство или рабочее пространство модели.

Одним из возможных рабочих процессов является экспорт набора переменных, возвращенных с помощью опции Find Referenced Variables или Simulink.findVars функция. Для получения дополнительной информации смотрите Поиск переменных, которые используются моделью или блоком.

Примечание

Все экспортируемые переменные должны быть из одной и той же рабочей области.

Чтобы экспортировать все переменные в рабочей области в Model Explorer в файл кода MATLAB или MAT-файл:

  1. Выберите переменные, которые необходимо экспортировать.

    1. Чтобы выбрать все переменные в рабочей области, щелкните правой кнопкой мыши узел рабочей области (для примера Base Workspace) и выберите Export меню элемента. Для примера:

    2. Чтобы выбрать отдельные переменные, на панели Contents выберите переменные, которые вы хотите экспортировать. Щелкните правой кнопкой мыши одну из подсвеченных переменных и выберите элемент меню Export Selected.

    Если на панели Contents данные сгруппированы по свойству, выбор верхней линии в группе не выбирает все переменные в этой группе. Для получения дополнительной информации о сгруппированных данных см. Model Explorer.

  2. Укажите, сохранять ли переменные в файле кода MATLAB или MAT-файле.

    Формат файла кода MATLAB легче считать, редактируется и поддерживает систему контроля версий. Формат MAT-файла является двоичным, что имеет преимущества эффективности.

    Если вы задаете формат файла кода MATLAB, Model Explorer может создать связанный MAT-файл, отражающий имя файла кода MATLAB, но с расширением .mat вместо .m.

  3. Укажите имя и местоположение файла.

  4. Если файл уже существует, в Model Explorer откроется диалоговое окно с просьбой выбрать одну из следующих опций:

    • Overwrite entire file

      • Заменяет все переменные в целевом файле на выбранные переменные, которые хранятся в алфавитном порядке.

    • Update variables that exist in file and append new variables to file

      • Обновляет существующие переменные на месте и добавляет новые переменные.

    • Only update variables that exist in file

      • Обновляет существующие переменные, но не добавляет никаких новых переменных, что устраняет потенциально посторонние переменные.

Чтобы навсегда хранить переменные рабочей области для модели, вместо использования базового рабочего пространства создайте словарь данных. См. раздел «Что такое словарь данных?».

Импорт переменных рабочей области

Можно импортировать (загрузить) набор переменных из файла в базовое рабочее пространство или в рабочее пространство модели с помощью Model Explorer. Когда вы импортируете переменные в рабочую область, Model Explorer перезаписывает существующие переменные и добавляет любые новые переменные.

Чтобы импортировать переменные в рабочую область:

  1. На панели Model Hierarchy щелкните правой кнопкой мыши рабочую область, в которую вы хотите импортировать переменные.

  2. Выберите Import меню элемента.

  3. В диалоговом окне Импорт из файла выберите файл кода MATLAB или MAT-файл для переменных, которые вы хотите импортировать.

    Примечание

    Если вы импортируете файл кода MATLAB, то Simulink также импортирует связанный MAT-файл.

См. также

|

Похожие темы