Чтобы узнать все методы, которые можно использовать для создания, редактирования и управления переменными рабочей области, см. Раздел «Создание, редактирование и управление переменными рабочей области».
В Model Explorer можно получить список переменных, которые использует модель или блок. Следующий подход является одним из способов получить этот список переменных:
На панели Contents щелкните правой кнопкой мыши блок, для которого необходимо найти переменные, которые он использует.
Выберите 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, чтобы получить список блоков, которые используют определенную переменную рабочей области.
Откройте модель f14
.
Откройте Model Explorer.
На панели Model Hierarchy выберите Base Workspace
узел.
На панели Contents щелкните правой кнопкой мыши переменную Mq
и выберите Find Where Used.
В диалоговом окне Select a system выберите f14
.
Снимите флажок Search in referenced models, начиная с f14
не ссылается ни на какие модели и нажатие кнопки OK.
С Search in referenced models выбранной, вы можете найти целевую переменную везде, где она используется в иерархии модели-ссылки. Однако нахождение целевой переменной во всей иерархии может занять больше времени.
Флажок Update diagram to include recent changes по умолчанию снимается, чтобы сэкономить время, избегая ненужных обновлений диаграмм модели. Установите флажок, чтобы включить последние изменения, внесенные вами в модель, путем принудительного обновления схемы.
Нажмите OK в ответ на сообщение, чтобы обновить диаграмму модели.
Поскольку вы только что открыли модель, необходимо обновить диаграмму модели хотя бы один раз, прежде чем найти переменную. Можно было выбрать Update diagram to include recent changes в диалоговом окне Select a system, чтобы принудительно обновить начальную схему, хотя обычно вы используете эту опцию, когда вносите изменения в модель при выполнении нескольких поисков с Find Where Used.
В 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 элемент меню. Для примера:
Откройте f14
модель.
Откройте Model Explorer.
На панели инструментов поиска установите значение в поле Update diagram yes
.
На панели Model Hierarchy щелкните правой кнопкой мыши по Base Workspace
Узлом и выберите Find Unused Variables меню элемента.
Model Explorer отображает вывод аналогичный этому:
Simulink.findVars
функция предоставляет дополнительные опции для возврата информации о неиспользуемых переменных рабочей области, которая не доступна из Model Explorer или Редактор.
В Model Explorer можно использовать Редактор Переменных, чтобы редактировать переменные из MATLAB® базовое рабочее пространство или рабочее пространство модели. Редактор переменных доступен для редактирования больших массивов и структур.
Чтобы открыть Редактор Переменных:
На панели Contents выберите переменную.
На панели Диалоговое окно (правая панель) нажмите кнопку рядом со значением переменной.
В меню выберите Open Variable Editor.
Кроме того, чтобы открыть редактор переменных из панели Contents вместо панели Диалоговое окно, начните редактировать значение переменной, щелкнув соответствующую камеру. Кнопка появится в камере.
Когда значение переменной или Simulink.Parameter
объект является массивом с тремя или более размерностями, Value столбец отображает массив как выражение, содержащее вызов reshape
функция.
Чтобы изменить значения в массиве, измените первый аргумент reshape
вызов, который содержит все значения массива в сериализованном векторе. Когда вы добавляете или удаляете элементы вдоль размерности, необходимо также исправить аргумент, который представляет длину изменённой размерности.
В этом примере показано, как использовать Model Explorer для переименования переменной везде, где она используется блоками в моделях Simulink.
Откройте пример модели Modeling a Anti-Lock Braking System sldemo_absbrake
. Модель загружает данные в базовое рабочее пространство MATLAB.
Откройте Model Explorer.
На панели Model Hierarchy выберите базовое рабочее пространство.
На панели Contents щелкните правой кнопкой мыши переменную базового рабочего пространства m
и выберите Rename All.
В диалоговом окне Select a system щелкните имя модели sldemo_absbrake
чтобы выбрать его в качестве контекста для переименования переменной m
.
Снимите флажок Search in referenced models и нажмите OK. Модель sldemo_absbrake
ссылается на модель sldemo_wheelspeed_absbrake
, но только sldemo_absbrake
использует переменную m
.
Если Search in referenced models выбран, можно переименовать целевую переменную везде, где она используется в иерархии модели-ссылки. Однако переименование целевой переменной во всей иерархии может занять больше времени.
Флажок Update diagram to include recent changes по умолчанию снимается, чтобы сэкономить время, избегая ненужных обновлений диаграмм модели. Установите флажок, чтобы включить последние изменения, внесенные вами в модель, путем принудительного обновления схемы.
Нажмите OK в ответ на сообщение, чтобы обновить диаграмму модели.
Поскольку вы только что открыли модель, необходимо обновить диаграмму модели хотя бы один раз перед переименованием переменной. Можно было выбрать Update diagram to include recent changes в диалоговом окне Select a system, чтобы принудительно обновить начальную схему, хотя обычно вы используете эту опцию, когда вносите изменения в модель при выполнении нескольких операций переименования переменных.
В диалоговом окне Rename All введите новое имя переменной в поле New name и нажмите OK.
Для просмотра целевых блоков можно использовать гиперссылки в Corresponding blocks разделе диалогового окна Rename All.
Примечание
Вы можете переименовать только переменные, что функция Simulink.findVars
поддерживает.
Для помощи с переименованием файлов используйте проект. Смотрите раздел «Автоматическое обновление при переименовании, удалении или удалении файлов».
Можно сравнить повторяющиеся переменные, которые хранятся в одной рабочей области или в разных рабочих областях. Например, можно сравнить переменную, хранящуюся в базовом рабочем пространстве, с ее дубликатом, который хранится в рабочем пространстве модели.
Откройте модель и браузер Model Explorer.
На панели инструментов поиска найдите дублируемую переменную. Выберите строки с повторяющимися записями. Затем щелкните правой кнопкой мыши и выберите Compare Selected.
Проверьте различия в Comparison Viewer.
Можно экспортировать (сохранить) набор переменных, перечисленных в Model Explorer, экспортируя либо отдельные переменные, либо все переменные в базовое рабочее пространство или рабочее пространство модели.
Одним из возможных рабочих процессов является экспорт набора переменных, возвращенных с помощью опции Find Referenced Variables или Simulink.findVars
функция. Для получения дополнительной информации смотрите Поиск переменных, которые используются моделью или блоком.
Примечание
Все экспортируемые переменные должны быть из одной и той же рабочей области.
Чтобы экспортировать все переменные в рабочей области в Model Explorer в файл кода MATLAB или MAT-файл:
Выберите переменные, которые необходимо экспортировать.
Чтобы выбрать все переменные в рабочей области, щелкните правой кнопкой мыши узел рабочей области (для примера Base Workspace
) и выберите Export меню элемента. Для примера:
Чтобы выбрать отдельные переменные, на панели Contents выберите переменные, которые вы хотите экспортировать. Щелкните правой кнопкой мыши одну из подсвеченных переменных и выберите элемент меню Export Selected.
Если на панели Contents данные сгруппированы по свойству, выбор верхней линии в группе не выбирает все переменные в этой группе. Для получения дополнительной информации о сгруппированных данных см. Model Explorer.
Укажите, сохранять ли переменные в файле кода MATLAB или MAT-файле.
Формат файла кода MATLAB легче считать, редактируется и поддерживает систему контроля версий. Формат MAT-файла является двоичным, что имеет преимущества эффективности.
Если вы задаете формат файла кода MATLAB, Model Explorer может создать связанный MAT-файл, отражающий имя файла кода MATLAB, но с расширением .mat
вместо .m
.
Укажите имя и местоположение файла.
Если файл уже существует, в 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 перезаписывает существующие переменные и добавляет любые новые переменные.
Чтобы импортировать переменные в рабочую область:
На панели Model Hierarchy щелкните правой кнопкой мыши рабочую область, в которую вы хотите импортировать переменные.
Выберите Import меню элемента.
В диалоговом окне Импорт из файла выберите файл кода MATLAB или MAT-файл для переменных, которые вы хотите импортировать.
Примечание
Если вы импортируете файл кода MATLAB, то Simulink также импортирует связанный MAT-файл.
Model Explorer | Simulink.findVars