importFromBaseWorkspace

Класс: Simulink.data. Словарь
Пакет: Simulink.data

Импортируйте переменные базового рабочего пространства к словарю данных

Синтаксис

importedVars = importFromBaseWorkspace(dictionaryObj)
importedVars = importFromBaseWorkspace(dictionaryObj,Name,Value)
[importedVars,existingVars] = importFromBaseWorkspace(___)

Описание

importedVars = importFromBaseWorkspace(dictionaryObj) импорт все переменные от базового рабочего пространства MATLAB до словаря данных dictionaryObj, не перезаписывая существующие записи в словаре. Если какие-либо переменные базового рабочего пространства уже находятся в словаре, функция представляют предупреждение и список.

Этот синтаксис возвращает список имен успешно импортированных переменных. Переменная рассматривается успешно импортированной, только если importFromBaseWorkspace присваивает значение переменной к соответствующей записи в целевом словаре данных.

importedVars = importFromBaseWorkspace(dictionaryObj,Name,Value) переменные базового рабочего пространства импорта к словарю данных, с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value.

[importedVars,existingVars] = importFromBaseWorkspace(___) дополнительно возвращает список переменных, которые не были перезаписаны. Используйте этот синтаксис, если existingVarsAction установлен в 'none', значение по умолчанию, которое препятствует тому, чтобы были перезаписаны существующие словарные статьи.

Входные параметры

развернуть все

Целевой словарь данных, заданный как объект Simulink.data.Dictionary. Прежде чем вы будете использовать эту функцию, будете представлять целевой словарь с объектом Simulink.data.Dictionary при помощи, например, Simulink.data.dictionary.create или функция Simulink.data.dictionary.open.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Отметьте, чтобы очистить базовое рабочее пространство любых успешно импортированных переменных, заданных как пара, разделенная запятой, состоящая из 'clearWorkspaceVars' и true или false.

Пример: 'clearWorkspaceVars', true

Типы данных: логический

Действие, чтобы взять для существующих переменных словаря, заданных как пара, разделенная запятой, состоящая из 'existingVarsAction' и 'none', 'error' или 'overwrite'.

Если вы задаете 'none', importFromBaseWorkspace пытается импортировать целевые переменные, но не импортирует или вносит любые изменения в переменные, которые уже находятся в словаре данных.

Если вы задаете 'error', importFromBaseWorkspace возвращает ошибку, не импортируя переменных, если какие-либо целевые переменные уже находятся в словаре данных.

Если вы задаете 'overwrite', importFromBaseWorkspace импортирует все целевые переменные и перезаписывает любые переменные, которые уже находятся в словаре данных.

Пример: 'existingVarsAction', 'error'

Типы данных: char

Имена определенных переменных базового рабочего пространства, чтобы импортировать, заданный как пара, разделенная запятой, состоящая из 'varList' и массива ячеек из символьных векторов или массива строк. Если вы хотите импортировать только одну переменную, задайте имя в массиве ячеек. Если вы не задаете 'varList', importFromBaseWorkspace импортирует все переменные из базового рабочего пространства MATLAB.

Пример: 'varList',{'a','myVariable','fuelFlow'}

Пример: 'varList',{'fuelFlow'}

Типы данных: cell

Выходные аргументы

развернуть все

Имена успешно импортированных переменных, возвращенных как массив ячеек из символьных векторов. Переменная рассматривается успешно импортированной, только если importFromBaseWorkspace присваивает значение переменной к соответствующей записи в целевом словаре данных.

Имена целевых переменных, которые не были импортированы из-за их существования в целевом словаре данных, возвратились как массив ячеек из символьных векторов. existingVars имеет содержимое, только если 'existingVarsAction' установлен в 'none', который является также значением по умолчанию. В этом случае importFromBaseWorkspace импортирует только переменные, которые уже не находятся в целевом словаре данных.

Примеры

развернуть все

В базовом рабочем пространстве MATLAB создайте переменные, чтобы импортировать.

a = 'Char Variable';
myVariable = true;
fuelFlow = 324;

Откройте словарь данных myDictionary_ex_API.sldd и представляйте его с объектом Simulink.data.Dictionary под названием myDictionaryObj.

myDictionaryObj = Simulink.data.dictionary.open('myDictionary_ex_API.sldd');

Импортируйте все переменные базового рабочего пространства к словарю данных и возвратите список успешно импортированных переменных. Если какие-либо переменные базового рабочего пространства уже находятся в myDictionary_ex_API.sldd, importFromBaseWorkspace представляет предупреждение и список затронутых переменных.

importFromBaseWorkspace(myDictionaryObj);
Warning: The following variables were not imported because 
they already exist in the dictionary:
   fuelFlow 

В базовом рабочем пространстве MATLAB создайте переменные, чтобы импортировать.

b = 'Char Variable';
mySecondVariable = true;
airFlow = 324;

Откройте словарь данных myDictionary_ex_API.sldd и представляйте его с объектом Simulink.data.Dictionary под названием myDictionaryObj.

myDictionaryObj = Simulink.data.dictionary.open('myDictionary_ex_API.sldd');

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

importFromBaseWorkspace(myDictionaryObj,'varList',...
{'b','mySecondVariable','airFlow'});

В базовом рабочем пространстве MATLAB создайте переменную, чтобы импортировать.

fuelFlow = 324;

Откройте словарь данных myDictionary_ex_API.sldd и представляйте его с объектом Simulink.data.Dictionary под названием myDictionaryObj. myDictionary_ex_API.sldd уже содержит запись под названием fuelFlow.

myDictionaryObj = Simulink.data.dictionary.open('myDictionary_ex_API.sldd');

Импортируйте переменную fuelFlow и перезапишите соответствующую запись в myDictionary_ex_API.sldd.

importFromBaseWorkspace(myDictionaryObj,'varList',{'fuelFlow'},...
'existingVarsAction','overwrite');

importFromBaseWorkspace присваивает значение переменной fuelFlow базового рабочего пространства к значению соответствующей записи в myDictionary_ex_API.sldd.

Возвратите список переменных, которые не импортируются из базового рабочего пространства MATLAB, потому что они уже находятся в целевом словаре данных.

В базовом рабочем пространстве MATLAB создайте переменные, чтобы импортировать.

fuelFlow = 324;
myNewVariable = 'This is a character vector.'

Откройте словарь данных myDictionary_ex_API.sldd и представляйте его с объектом Simulink.data.Dictionary под названием myDictionaryObj. myDictionary_ex_API.sldd уже содержит запись под названием fuelFlow.

myDictionaryObj = Simulink.data.dictionary.open('myDictionary_ex_API.sldd');

Импортируйте переменные fuelFlow и myNewVariable к словарю данных. Задайте имена для выходных аргументов importFromBaseWorkspace, чтобы возвратить имена успешно и неудачно импортированные переменные.

[importedVars,existingVars] = importFromBaseWorkspace(myDictionaryObj,...
'varList',{'fuelFlow','myNewVariable'})
importedVars = 

    'myNewVariable'


existingVars = 

    'fuelFlow'

importFromBaseWorkspace не импортирует переменную fuelflow, потому что это уже находится в целевом словаре данных.

Советы

  • importFromBaseWorkspace может импортировать переменные MATLAB, созданные из перечислимых типов данных, но не может импортировать определения перечислимых типов. Используйте функцию importEnumTypes, чтобы импортировать перечисленные определения типов к словарю данных. Если вы импортируете переменные перечислимых типов данных к словарю данных, но не импортируете определения перечислимого типа, словарь является менее портативным и не может функционировать правильно, если используется кем-то еще.

Альтернативы

  • Когда вы используете Редактор Simulink, чтобы соединить модель со словарем данных, можно принять решение импортировать образцовые переменные из базового рабочего пространства. Смотрите Перемещают Одну Модель, чтобы Использовать Словарь для получения дополнительной информации.

  • Можно также использовать окно Model Explorer, чтобы перетащить переменные из базового рабочего пространства в словарь данных.

Представленный в R2015a