importFromBaseWorkspace

Класс: Simulink.data.Dictionary
Пакет: 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 имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

Пример: 'clearWorkspaceVars'TRUE

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

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

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

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

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

Пример: 'existingVarsAction'ошибка

Типы данных: 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 функционируйте, чтобы импортировать перечисленные определения типов к словарю данных. Если вы импортируете переменные перечислимых типов данных к словарю данных, но не импортируете определения перечислимого типа, словарь является менее портативным и не может функционировать правильно, если используется кем-то еще.

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

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

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

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

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