Чтобы изучить все методы, можно использовать, чтобы создать, отредактировать, и управлять переменными рабочей области, видеть, Создают, Редактирование, и Управляют Переменными Рабочей области.
В 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
предоставляет дополнительные возможности для возврата информации о переменных рабочей области, которая не доступна из Редактора Simulink или 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
предоставляет дополнительные возможности для возврата информации о неиспользованных переменных рабочей области, которая не доступна из Редактора Simulink или Model Explorer.
В Model Explorer можно использовать Редактора переменных, чтобы отредактировать переменные из базового рабочего пространства MATLAB® или рабочего пространства модели. Редактор переменных доступен для редактирования больших массивов и структур.
Открыть Редактора переменных:
В панели Contents выберите переменную.
В Диалоговой панели (правая панель), нажмите кнопку около значения переменной.
В меню выберите Open Variable Editor.
Также, чтобы открыть Редактора переменных от панели Contents вместо Диалоговой панели, начните редактировать значение переменной путем нажатия на соответствующую ячейку. Кнопка появляется в ячейке.
Когда значение переменной или объекта Simulink.Parameter
является массивом с тремя или больше размерностями, отображения столбца Value массив как выражение, которое содержит вызов функции reshape
.
Чтобы отредактировать значения в массиве, измените первый аргумент вызова reshape
, который содержит все значения массивов в сериализированном векторе. Когда вы добавляете или удаляете элементы по измерению, необходимо также исправить аргумент, который представляет длину измененной размерности.
Этот пример показывает, как использовать Model Explorer, чтобы переименовать переменную везде, это используется блоками в моделях Simulink.
Откройте модель 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 сгруппировало данные свойство, выбирание верхней строки в группе не выбирает все переменные в той группе. Для получения дополнительной информации о сгруппированных данных, смотрите Группу Свойством.
Задайте, сохранить ли переменные в файле кода 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.
В диалоговом окне Import from File выберите файл кода MATLAB или MAT-файл для переменных, которые вы хотите импортировать.
Если вы импортируете файл кода MATLAB, то Simulink также импортирует связанный MAT-файл.