exponenta event banner

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 объект (который словарь данных не может хранить) или структура с полями, идентичными объекту временных рядов, importFromBaseWorkspace невозможно импортировать переменную.

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

  • При использовании редактора Simulink Editor для связи модели со словарем данных можно импортировать переменные модели из базового рабочего пространства. Дополнительные сведения см. в разделе Перенос одной модели для использования словаря.

  • Можно также использовать окно Проводника моделей для перетаскивания переменных из базового рабочего пространства в словарь данных.

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