importFromBaseWorkspace

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

Описание

пример

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

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

пример

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

пример

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

Примеры

свернуть все

В базовом рабочем пространстве 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 поскольку он уже находится в целевом словаре данных.

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

свернуть все

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

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

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'varList',{'fuelFlow'}, 'existingVarsAction','overwrite' импортирует переменную fuelFlow и перезаписывает соответствующую статью в словаре данных.

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

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

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

Действие для существующих переменных словаря, заданное как разделенная разделенными запятой парами, состоящая из '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 импортирует только переменные, которые еще не находятся в целевом словаре данных.

Совет

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

  • Если значение переменной является timeseries объект (который словарь данных не может хранить) или структура с полями, идентичными объекту timeseries, importFromBaseWorkspace не удается импортировать переменную.

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

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

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

Введенный в R2015a