exponenta event banner

Simulink. ModelWorkspace

Взаимодействие с рабочим пространством модели программным способом

Описание

Использовать Simulink.ModelWorkspace для взаимодействия с рабочим пространством модели. Например, можно добавлять и удалять переменные, задавать источник данных рабочей области и сохранять изменения в рабочей области.

Дополнительные сведения см. в разделе Рабочие пространства модели.

Создание

Создание Simulink.ModelWorkspace, используйте get_param функция запроса значения параметра модели ModelWorkspace. Например, для создания объекта с именем mdlWks представляет рабочее пространство модели с именем myModel.slx:

mdlWks = get_param('myModel','ModelWorkspace')

Свойства

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

Источник для инициализации переменных в рабочей области модели, указанный как один из следующих векторов символов:

  • 'Model File' - переменные хранятся в файле модели. При сохранении модели также сохраняются переменные.

  • 'MATLAB Code' - переменные создаются кодом MATLAB, который записывается и сохраняется в файле модели.

  • 'MAT-File' - переменные хранятся в MAT-файле, которым можно управлять и управлять отдельно от файла модели.

  • 'MATLAB File' - переменные создаются кодом MATLAB в файле сценария, которым можно управлять и управлять отдельно от файла модели.

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

Имя внешнего файла, в котором хранятся или создаются переменные, указанное как символьный вектор. Чтобы включить это свойство, установите DataSource кому 'MAT-File' или 'MATLAB File'.

Пример: 'myFile.mat'

Пример: 'myFile.m'

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

Код MATLAB для инициализации переменных, заданный как символьный вектор. Чтобы включить это свойство, установите DataSource кому 'MATLAB Code'.

Пример: sprintf('%% Create variables that this model uses.\n\nK = 0.00983;\n\nP = Simulink.Parameter(5);')

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

Функции объекта

getVariableВозвращаемое значение переменной в рабочем пространстве модели
getVariablePartПолучение значения свойства переменной в рабочей области модели
setVariablePartЗадать свойство переменной в рабочей области модели
hasVariableОпределение наличия переменной в рабочем пространстве модели
whosВозврат списка переменных в рабочем пространстве модели
saveToSourceСохранение изменений рабочего пространства модели во внешнем источнике данных рабочего пространства модели
saveСохранение содержимого рабочего пространства модели в MAT-файл
reloadПовторная инициализация переменных из источника данных рабочей области модели
evalinВычислить выражение в рабочем пространстве модели модели
clearУдаление переменных из рабочего пространства модели
assigninНазначение значения переменной в рабочем пространстве модели

Примеры

свернуть все

Создайте переменную в рабочем пространстве модели. Затем измените переменную и запросите значение переменной для подтверждения изменения.

Открыть пример модели vdp.

open_system('vdp')

Создать Simulink.ModelWorkspace объект mdlWks которая представляет рабочее пространство модели vdp.

mdlWks = get_param('vdp','ModelWorkspace');

Создание переменной с именем myVar со значением 5.12 в рабочем пространстве модели.

assignin(mdlWks,'myVar',5.12)

Применить новое значение, 7.22. Для этого сначала создайте временную копию переменной с помощью getVariable функция. Затем измените копию и используйте ее для перезаписи исходной переменной в рабочей области модели.

temp = getVariable(mdlWks,'myVar');
temp = 7.22;
assignin(mdlWks,'myVar',temp)

Подтвердите новое значение, запросив значение переменной.

getVariable(mdlWks,'myVar')
ans =

    7.2200
Представлен до R2006a